问题描述
我在这里看到两个问题:
- 您的过程显然带有两个参数
@myDate
和@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
解决方法
我的存储过程具有相同的参数(服务器名称和日期)。我想编写一个存储过程,并在该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”。