我需要在T-SQL中编写一个脚本(可能创建一个存储过程?),执行时会执行一个存储过程列表。
我想象这样的事情
CREATE PROCEDURE dbo.sproc_execute
AS
EXEC sp_CustomSproc 'param1' , 'param2'
GO
EXEC sp_CustomSproc 'paramA' , 'paramB'
GO
EXEC sp_CustomSproc 'paramX' , 'paramY'
GO
EXEC sp_CustomSproc 'param3' , 'param4'
GO
每个参数都返回相同存储过程的不同结果,绝对需要。运行它看起来像是有效的,但这是正确的方法吗?
答案 0 :(得分:1)
写这样的程序
CREATE PROCEDURE dbo.sproc_execute
AS
BEGIN
EXEC sp_CustomSproc 'param1' , 'param2'
EXEC sp_CustomSproc 'paramA' , 'paramB'
EXEC sp_CustomSproc 'paramX' , 'paramY'
EXEC sp_CustomSproc 'param3' , 'param4'
END
答案 1 :(得分:0)
虽然你当然可以反复调用相同的proc,但是考虑重写proc以使用表值参数然后发送你想要的参数是不是更好。选择可能取决于当前其他进程调用此进程的程度。显然,如果已经在许多地方使用过,那么这可能不实用。但是,如果这是一个尚未推出的新进程,那么请考虑使用此方法。这样,如果您需要在将来某个时间更改多个参数,则不必编写新的proc来调用它。