我正在使用Sql Server 2008.在我的sql文件中,我已经定义了5个局部变量(所有这些都是int)并将它们全部设置为0.然后我做了一些操作(不在循环中)。在每次操作之后,我需要将局部变量的值重置为0.现在,我在每次操作后手动将所有变量设置为0。有没有更好的方法将它们全部重置为0,可能是通过调用某个函数而不是通过调用它来实现它?
DECLARE @int1 int
DECLARE @int2 int
DECLARE @int3 int
DECLARE @int4 int
DECLARE @int5 int
SET @int1 = 0
SET @int2 = 0
SET @int3 = 0
SET @int4 = 0
SET @int4 = 0
-- Operation 1
SELECT * FROM Orders
-- Reset values (Number of times the reset code written: 1)
SET @int1 = 0
SET @int2 = 0
SET @int3 = 0
SET @int4 = 0
SET @int4 = 0
-------------------- END OF OPERATION 1 and RESETTING VARIABLES ---------------
-- Operation 2
SELECT * FROM Lines
-- Reset values (Number of times the reset code written: 2)
SET @int1 = 0
SET @int2 = 0
SET @int3 = 0
SET @int4 = 0
SET @int4 = 0
-------------------- END OF OPERATION 2 and RESETTING VARIABLES ---------------
-- Operation 3
SELECT * FROM Customers
-- Reset values (Number of times the reset code written: 3)
SET @int1 = 0
SET @int2 = 0
SET @int3 = 0
SET @int4 = 0
SET @int4 = 0
-------------------- END OF OPERATION 3 and RESETTING VARIABLES ---------------
-- Operation 4
SELECT * FROM Address
-- Reset values (Number of times the reset code written: 4)
SET @int1 = 0
SET @int2 = 0
SET @int3 = 0
SET @int4 = 0
SET @int4 = 0
-------------------- END OF OPERATION 4 and RESETTING VARIABLES ---------------
-- Operation 5
SELECT * FROM Accounts
-- Reset values (Number of times the reset code written: 5)
SET @int1 = 0
SET @int2 = 0
SET @int3 = 0
SET @int4 = 0
SET @int4 = 0
-------------------- END OF OPERATION 5 and RESETTING VARIABLES ---------------
很明显,重置局部变量已被写入5次(由“写入重置代码的次数:#”标识)。有没有更好的方法来调用一个执行重置的函数,这样我只需要调用一个函数,例如ResetVaraibles(),它将具有重置局部变量的代码。现在更清楚了吗?
答案 0 :(得分:0)
您可以使用5个参数存储过程。
create procedure ResetTo0
@int1 int out,
@int2 int out,
@int3 int out,
@int4 int out,
@int5 int out
as
set @int1 = 0
set @int2 = 0
set @int3 = 0
set @int4 = 0
set @int5 = 0
它会像这样调用。
exec ResetTo0 @int1 out, @int2 out, @int3 out, @int4 out, @int5 out
但与使用select重置值相比,我认为你获得的收益不大(如果有的话)。
select @int1 = 0, @int2 = 0, @int3 = 0, @int4 = 0, @int5 = 0
答案 1 :(得分:0)
方法1:断开连接并连接到SQL Server。
方式2:Ctrl-A Ctrl-C Ctrl-N Ctrl-V将代码复制到新窗口。