mssql存储过程命令分隔符

时间:2014-07-30 08:07:28

标签: sql-server stored-procedures

我需要运行大约60000个命令,其中我执行具有不同参数的存储过程。我生成了这些命令,但我无法将它们全部一起运行,因为错误“cmn_sec_assign_inst_right_sp'附近的Incorect语法”

我有以下命令:

cmn_sec_assign_inst_right_sp [USER], '18604','ResourceSelf',5025008;
cmn_sec_assign_inst_right_sp [USER], '62454','ResourceSelf',5025009;
cmn_sec_assign_inst_right_sp [USER], '14428','ResourceSelf',5025010;

我试着用它们来执行它们;而且没有;在命令的最后,但它不起作用。我应该使用什么“分隔符”?

谢谢, 马丁

2 个答案:

答案 0 :(得分:0)

exec是命令,例如

exec cmn_sec_assign_inst_right_sp [USER], '18604','ResourceSelf',5025008

exec cmn_sec_assign_inst_right_sp [USER], '62454','ResourceSelf',5025009

exec cmn_sec_assign_inst_right_sp [USER], '14428','ResourceSelf',5025010

答案 1 :(得分:0)

使用GO

尝试以下操作
EXEC cmn_sec_assign_inst_right_sp [USER], '18604','ResourceSelf',5025008;
GO
EXEC cmn_sec_assign_inst_right_sp [USER], '62454','ResourceSelf',5025009;
....

GO将指示它是批次的结束。

如果这不起作用,您是否可以显示SP的第一部分,您已在其中定义params