sqlserver遍历表不用游标和临时表的方法

sql server遍历表一般都需要用到游标和临时表,不过下面介绍的例子却不用游标和临时表就可以实现sql server遍历表,让我们一起来了解一下.

表结构如下
  id name
---------------------------------------
  10001 sky blue water 
  10002 book apple shirt 
  10005 cup yellow org
  61245 box phone paper

 
 
 
  1. Create table T(id int,name varchar(50))
  2. insert into T select  10001,    'sky blue water' 
  3. insert into T select  10002 ,   'book apple shirt' 
  4. insert into T select  10005 ,   'cup yellow org' 
  5. insert into T select  61245 ,   'box phone paper'
  6. GO
  7. SELECT
  8.      id,
  9.     SUBSTRING(A.name,B.number,CHARINDEX(' ',A.name+' ',B.number)-B.number) AS [name]
  10.     
  11. FROM  T as  A
  12.     JOIN master.dbo.spt_values AS B
  13.         ON B.type='p' AND B.number BETWEEN 1 AND LEN(A.name)
  14.             AND SUBSTRING(' '+A.name,B.number,1)=' '
  15. /*
  16. id          name                                               
  17. ----------- -------------------------------------------------- 
  18. 10001       sky
  19. 10001       blue
  20. 10001       water
  21. 10002       book
  22. 10002       apple
  23. 10002       shirt
  24. 10005       cup
  25. 10005       yellow
  26. 10005       org
  27. 61245       box
  28. 61245       phone
  29. 61245       paper
  30. */
  31. Drop table T

以上就是sql server遍历表不用游标和临时表的方法介绍。

当前名称:sqlserver遍历表不用游标和临时表的方法
本文路径:http://www.csdahua.cn/qtweb/news39/477189.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网