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=013 DECLARE @i INT SET @i=014 DECLARE @id INT15 DECLARE @name varchar(20)16 17 SELECT @c=COUNT(*) FROM @NewDT18 PRINT @c19 20 WHILE(@i<@c)21 BEGIN22 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+128 PRINT @i29 END30 END31 32View Code
新聞熱點
疑難解答