2011-08-18 33 views
2

如何在運行時在存儲過程中傳遞參數值。如何在存儲過程中動態傳遞值

對於例如:當我嘗試通過開始日期和結束日期的價值觀沒有被傳遞,有什麼辦法傳遞的值像'?'在T-SQL中。

exec SP '01-01-2011','01-30-2011' 

回答

0

這裏有很多資源。只是使用谷歌,我發現了幾篇文章,包括在這裏的問題。

Can a stored procedure have dynamic parameters to be used in an "IN" clause?

T-SQL Stored Procedures Using Parameters

如果發佈一些你的存儲過程,那麼它會給你的代碼的一個更好的主意。

下面是從MSDN website一個例子:執行它

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'; 

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 

然後

相關問題