2014-10-28 88 views
0

我試圖從另一個存儲過程中調用存儲過程。我想要做的是從表中選擇我的參數的值,但SQL服務器拒絕這個。SQL Server 2000-使用SELECT語句存儲過程參數值

EXEC sp_MyStoredProcedure 
       @ipParm01 = (SELECT value1 FROM table1 WHERE condition1), 
       @ipParm02 = (SELECT value2 FROM table2 WHERE condition2), 
       @ipParm03 = (SELECT value3 FROM table3 WHERE condition3) 

我得到的錯誤是

Incorrect syntax near '('. 

可以這樣做,或者我應該聲明一組變量,從select語句的值填充它們,在EXEC使用它們藻?

Thanx guys !!!

+4

'我要宣佈一組變量,從select語句的值填充它們,在EXEC SP利用他們' - ?是的:)你也可以考慮升級RDBMS以及:) – StuartLC 2014-10-28 15:30:44

+1

@StuartLC - 儘管這不是在後續版本中已經改進的東西, – 2014-10-28 20:27:33

回答

0

你應該做的第一件事是升級您的RDBMS

解決方案

你可能尋找類似

SELECT 
 
    @ipParm01 = value1 
 
FROM table1 
 
WHERE condition1 
 

 
SELECT 
 
    @ipParm02 = value2 
 
FROM table2 
 
WHERE condition2 
 

 
SELECT 
 
    @ipParm03 = value3 
 
FROM table3 
 
WHERE condition3

,然後做

EXEC sp_MyStoredProcedure @ipParm01, @ipParm02, @ipParm03

+0

這實際上是我提出的解決方案。 Poitty不能做得更快...... – 2014-10-29 07:25:15

相關問題