我有具有相同参数(服务器名称和日期)的存储过程。我想编写一个存储过程并在该 SP 中执行它们(称为 SP_All)。
CREATE PROCEDURE [dbo].[SP_All]
AS
BEGIN
exec sp_1 @myDate datetime, @ServerName sysname
exec sp_2 @myDate datetime, @ServerName sysname
exec sp_3 @myDate datetime, @ServerName sysname
exec sp_4 @myDate datetime, @ServerName sysname
END
Go
错误:必须声明标量变量“@myDate”。
我在这里看到两个问题:
- 你的程序显然需要两个参数,
@myDate
and @ServerName
,您尚未声明。通过在过程名称和 AS 之间添加名称和类型来完成此操作。
-
当调用 sp_1 到 sp_4 时,无需再次指定参数的数据类型(这已由声明处理,请参见第 1 点)。
CREATE PROCEDURE [dbo].[SP_All]
@myDate datetime,
@ServerName sysname
AS
BEGIN
exec sp_1 @myDate, @ServerName
exec sp_2 @myDate, @ServerName
exec sp_3 @myDate, @ServerName
exec sp_4 @myDate, @ServerName
END
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)