2016-08-25 65 views
0

我有一個存儲過程,它有執行時需要聲明的服務器參數。我試圖建立一種使用查詢結果爲其中一個參數賦值的方法。SQL 2008 SQL參數查詢存儲過程

例如

EXEC @return_value = [dbo].[usp_Stored_Proc_demo] 
     @tableName = N'tbltesting', 
     @Col1 = N'c1', 
     @Col2 = N'c2', 
     @Col3 = N'c3', 
     @Col4 = (SELECT GETDATE()), 
     @Col5 = N'c5', 
     @Col6 = N'c6', 
     @Col7 = N'v7', 
     @Col8 = N'c8' 

但是這並不工作,或其他任何東西我都試過了。有沒有辦法呢?

回答

0

向你敞開的選項實際上涉及到執行預查詢第一,值分配給一個變量,然後使用比在存儲過程調用:

SELECT @MyVar = Something 
FROM dbo.Somewhere 
WHERE WhatIAmLookingFor = 'AnAnswer' 

EXECUTE dbo.MySproc @MyVar 

您不能分配的參數值直列喜歡你希望根據另一個查詢的結果來做。你可以用我期望的動態SQL做些事情,但除非你有很強的理由/需要,否則不會提出建議。