我知道现在T-SQL中没有全局变量。
我知道另一种替代方法我只是学会了你可以将它们存储在临时表中,只需根据需要更新它们然后使用临时表的值
这对于大量数据来说效率低吗?我的意思是考虑这个:
create table #vars (var1 int, var2 bigint, var3 int)
GO
insert #vars(0,0,0) -- default to 0
GO
Update #vars set var1 = 1
update #vars set var2 = 4
update #vars set var3 = 6
Then use var1, var2, and var 3 in a SQL statement here
GO
repeat this process...update and use
GO
...REPEAT
所以我的意思是每次我发送多个更新调用SQL Server只是为了设置它们?就执行计划而言,对我来说似乎效率低下吗?我想我可以跑去看看,但只是好奇这是否通常是一种不好的做法?
我试图摆脱的是不得不像大多数人一样在每个我要批处理的GO的SQL语句中复制这些变量
答案 0 :(得分:0)
至少
Update #vars set var1 = 1
update #vars set var2 = 4
update #vars set var3 = 6
可以更改为
Update #vars set var1=1,var2=4,var3=6