2,496
社区成员
发帖
与我相关
我的任务
分享
--想实现效果:同时修改ID与OK,OK字段依附于ID
DECLARE @T1 INT
DECLARE @T TABLE(ID INT,OK INT)
INSERT @T SELECT 1,1
UNION ALL SELECT 2,1
--第一种方法错误
UPDATE @T
SET ID=3,OK=ID
WHERE ID=2
--第二种方法正确
UPDATE @T
SET @T1=3, OK=@T1,ID=3
WHERE ID=2
SELECT * FROM @T
--第一种方法错误
DECLARE @T TABLE(ID INT,OK INT)
INSERT @T SELECT 1,1
UNION ALL SELECT 2,1
UPDATE @T
SET ID=3,OK=ID
WHERE ID=2
SELECT * FROM @T
1 1
3 2
--第二种方法
DECLARE @T1 INT
DECLARE @T TABLE(ID INT,OK INT)
INSERT @T SELECT 1,1
UNION ALL SELECT 2,1
UPDATE @T
SET @T1=3, OK=@T1,ID=3
WHERE ID=2
SELECT * FROM @T
1 1
3 3
set nocount on
DECLARE @T1 INT
DECLARE @T TABLE(ID INT,OK INT)
INSERT @T SELECT 1,1
UNION ALL SELECT 2,1
SELECT * FROM @T
--第一种方法错误
UPDATE @T
SET ID=3,OK=ID
WHERE ID=2
SELECT * FROM @T
--第二种方法正确
UPDATE @T
SET @T1=3, OK=@T1,ID=3
WHERE ID=2
SELECT * FROM @T
set nocount off
/*
ID OK
----------- -----------
1 1
2 1
ID OK
----------- -----------
1 1
3 2
ID OK
----------- -----------
1 1
3 2
*/