成都网站建设设计

将想法与焦点和您一起共享

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://chengdu.cdxwcx.cn/article/cohcecp.html