我有相同的参数(服务器名称和日期)存储过程。我想编写一个存储过程并在该SP中执行它们(称为SP_All)。如何在存储过程中调用存储过程(带有2个参数)?
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日期时间,/ @服务器sysname – chetan
注意:你不应该为存储过程使用'sp_'前缀。微软已经保留了这个前缀以供自己使用(参见*命名存储过程*)](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx),以及你将来有可能冒着名字冲突的风险。 [这对你的存储过程性能也是不利的](http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix)。最好只是简单地避免使用'sp_'并将其他内容用作前缀 - 或者根本没有前缀! –
虽然您的问题是基本问题,但为了添加完整的代码示例,请输入完整的错误消息并说明代码应执行的操作。太多的问题至少缺少其中之一... – Heinzi