如何在MS Sql中设置select变量,idea如下所示:
Declare @var int
SET @var = 0;
Select (if(idid = @var) then sum+1 else sum-1) AS Sum,
set @var = id
FROM table根据注释进行编辑。
DECLARE @T TABLE
(
ID INT PRIMARY KEY,
IDID INT,
SUMM INT
)
INSERT INTO @T
SELECT 1,1,4 UNION ALL
SELECT 2,1,5 UNION ALL
SELECT 3,2,6 UNION ALL
SELECT 4,2,7 UNION ALL
SELECT 5,3,8在select结果中,我需要:
ID IDID SUMM
-- ---- ----
1 1 4
2 1 0
3 2 6
4 2 0
5 3 8发布于 2011-05-27 20:23:01
这就是你想要做的吗?
Declare @var int, @id int
SET @var = 0
SELECT @id = id FROM Table t
if(@id = @var)
BEGIN
SET @var = @var + 1
END
ELSE
BEGIN
SET @var = @var - 1
END
print @var发布于 2011-05-27 20:15:04
只需使用SELECT即可。
例如:
SELECT @myValue = MyField FROM MyTable WHERE ....发布于 2019-04-29 05:46:03
在使用我的测试数据时,我有违反引用完整性的坏习惯。但在我测试完脚本后,这对于恢复引用完整性的数据很有用:
DECLARE @foreign_id INTEGER;
SET @foreign_id = (SELECT TOP 1 (FK_column) FROM (FK_table));
-- To confirm the value is what you want it to be
SELECT @foreign_id;现在,我可以在完成后多次插入数据,使用这个值来确保:
-- Referential integrity check:
SELECT (FK_column) FROM (FK_table)
WHERE (FK_column) NOT IN
(SELECT (PK_column) FROM (PK_table));未返回任何值。
https://stackoverflow.com/questions/6152001
复制相似问题