码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程--表变量和while简单运用

时间:2015-01-07 10:40:45      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

1、sql创建表
/*订单*/
CREATE TABLE Orders
(
PRIMARY KEY(Id),
Id int,
Name varchar(20)
)
2、存储过程ProTestDT
    1)创建表变量@NewDT
    2)给表变量@NewDT赋值(INSERT)
    3)循环表变量@NewDT,更新实际表dbo.Orders

技术分享
 1 CREATE PROCEDURE ProTestDT
 2 AS
 3 BEGIN
 4 DECLARE @NewDT TABLE
 5 (
 6 dtID int,
 7 dtName varchar(20)
 8 )
 9 
10 INSERT INTO @NewDT(dtID,dtName) SELECT id,Name FROM dbo.Orders 
11 
12 DECLARE @c INT SET @c=0
13 DECLARE @i INT SET @i=0
14 DECLARE @id INT
15 DECLARE @name varchar(20)
16 
17 SELECT @c=COUNT(*) FROM @NewDT
18 PRINT @c
19 
20 WHILE(@i<@c)
21 BEGIN
22 SELECT TOP 1 @id=dtID,@name=dtName FROM @NewDT /*表变量查询一条数据*/
23 SET @name=CONVERT(VARCHAR,@id)+@name+CONVERT(VARCHAR,@id)
24 UPDATE dbo.Orders SET Name=@name WHERE id=@id /*更新表*/
25 DELETE FROM @NewDT WHERE dtID=@id /*表变量删除查询出来的数据*/
26 
27 SET @i=@i+1
28 PRINT @i
29 END
30 END
31 
32  
View Code

 

存储过程--表变量和while简单运用

标签:

原文地址:http://www.cnblogs.com/liujinwu-11/p/4207631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!