如何在存储过程中的运行时传递参数值。
对于ex:当我尝试传递开始日期和结束日期时,值没有被传递,有没有办法传递像'?'这样的值在T-SQL中。
exec SP '01-01-2011','01-30-2011'
答案 0 :(得分:0)
那里有很多资源。只是使用谷歌我发现了几篇文章,其中包括一个关于SO的问题。
Can a stored procedure have dynamic parameters to be used in an "IN" clause?
T-SQL Stored Procedures Using Parameters
如果您发布了一些存储过程,那么它将更好地了解您的代码。
以下是MSDN website:
的示例USE AdventureWorks2008R2;
GO
CREATE PROCEDURE HumanResources.uspGetEmployees
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
SET NOCOUNT ON;
SELECT FirstName, LastName,Department
FROM HumanResources.vEmployeeDepartmentHistory
WHERE FirstName = @FirstName AND LastName = @LastName;
GO
然后执行
EXECUTE HumanResources.uspGetEmployees N'Ackerman', N'Pilar';
-- Or
EXEC HumanResources.uspGetEmployees @LastName = N'Ackerman', @FirstName = N'Pilar';
GO
-- Or
EXECUTE HumanResources.uspGetEmployees @FirstName = N'Pilar', @LastName = N'Ackerman';
GO
-- Or, if this procedure is the first statement within a batch:
HumanResources.uspGetEmployees N'Ackerman', N'Pilar';