设为首页收藏本站

Scripts 学盟

 找回密码
 加入学盟

QQ登录

只需一步,快速开始

查看: 1376|回复: 3
打印 上一主题 下一主题

Sqlserver split 功能 [复制链接]

Rank: 8Rank: 8

跳转到指定楼层
1#
那个谁 发表于 2011-5-26 16:56:54 |只看该作者 |倒序浏览
本帖最后由 那个谁 于 2011-5-26 17:00 编辑

今天一个客户有个需求说要在很多频道建附带发布。。当时软件规划没这个功能。一看几十个栏目,把我吓的。赶紧写个sql批量解决了。回头跟客户说这需要一周工作量。。O(∩_∩)O哈哈~
如果你有更好的方法请回帖。
不懂 就回帖问哦。。不解释了。
  1. declare @SplitString varchar(8000),@Separator varchar(10)
  2. declare @channelid varchar(1000),@chanelName varchar(100),@atempId varchar(100),@path varchar(1000)

  3. set @SplitString='13621,13511,13625,13512,13617,13513,13618,13619,13623,13624,13616,13522,13523,13524,13525,13527,13528,13529,13530,13531,13533,13534,13535,13536,13630,13553,13551,13599,13600,13601,13602,13603,13605,13607,13608,13609,13610,13611,13612,13613,13614'
  4. set @Separator=','
  5. DECLARE @CurrentIndex int;
  6. DECLARE @NextIndex int;
  7. DECLARE @ReturnText nvarchar(max);
  8. SELECT @CurrentIndex=1;
  9.         WHILE(@CurrentIndex<=len(@SplitString))
  10. BEGIN
  11.         SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex);
  12.         IF(@NextIndex=0 OR @NextIndex IS NULL)
  13.         SELECT @NextIndex=len(@SplitString)+1;
  14.         SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex);
  15.          /*插入数据*/
  16.          select @channelid=Channelid,@chanelName=ChannelName   from channels where channelcode=@ReturnText
  17. print  @channelid+' Name: '+@chanelName+' channelCode='+@ReturnText

  18. /*更新导读附带发布*/

  19. set @atempId='2063b3c7-a04d-48a5-80ce-3c1ec837adda'
  20. set @path='/web101/include/news_gxdd.html'

  21. INSERT INTO [IntertidCMS].[dbo].[ChannelAttachTemplate]
  22.            ([ChannelAttID]
  23.            ,[ChannelID]
  24.            ,[TempID]
  25.            ,[BuildFilePath]
  26.            ,[Description]
  27.            ,[CreateTime]
  28.            ,[CreateUserID]
  29.            ,[ModifyTime]
  30.            ,[ModifyUserID])
  31.      VALUES
  32.            (newid(),
  33.             @channelid,
  34.             @atempId,
  35.                         @path,
  36.             '',
  37.             getDate(),
  38.             'b3ae3a2e-8023-485d-9d28-3066e0b72ae3',
  39.             getDate(),
  40.             'b3ae3a2e-8023-485d-9d28-3066e0b72ae3')


  41. /*更新导读列表*/
  42. set @atempId='059bbc0e-2cff-4788-b866-aa63102e9e72'
  43. set @path='/web101/include/gxdd_index.html'

  44. INSERT INTO [IntertidCMS].[dbo].[ChannelAttachTemplate]
  45.            ([ChannelAttID]
  46.            ,[ChannelID]
  47.            ,[TempID]
  48.            ,[BuildFilePath]
  49.            ,[Description]
  50.            ,[CreateTime]
  51.            ,[CreateUserID]
  52.            ,[ModifyTime]
  53.            ,[ModifyUserID])
  54.      VALUES
  55.            (newid(),
  56.             @channelid,
  57.             @atempId,
  58.                         @path,
  59.             '',
  60.             getDate(),
  61.             'b3ae3a2e-8023-485d-9d28-3066e0b72ae3',
  62.             getDate(),
  63.             'b3ae3a2e-8023-485d-9d28-3066e0b72ae3')



  64.         SELECT @CurrentIndex=@NextIndex+1; /*改变下标*/
  65. END
复制代码
1

查看全部评分

分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0

管理员

超级大菜鸟

Rank: 9Rank: 9Rank: 9

2#
混混@普宁.中国 实名认证  发表于 2011-5-27 00:05:46 |只看该作者


欺诈客户

使用道具 举报

Rank: 8Rank: 8

3#
那个谁 发表于 2011-5-27 08:31:22 |只看该作者
混混@普宁.中国 发表于 2011-5-27 00:05
欺诈客户

这不就欺诈。。。工期必须是问题复杂化、解决问题必须是简单化。

使用道具 举报

管理员

超级大菜鸟

Rank: 9Rank: 9Rank: 9

4#
混混@普宁.中国 实名认证  发表于 2011-5-27 16:38:51 |只看该作者
这是狡辩么

使用道具 举报

您需要登录后才可以回帖 登录 | 加入学盟

手机版|Scripts 学盟   |

GMT+8, 2024-4-30 04:12 , Processed in 1.086638 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部