我有兩個存儲過程。讓我們把它們作爲SP1和SP2。 SP1是主要存儲過程,SP2是在SP2內部調用的存儲過程。 即SP1)有三個輸入參數(Fromdate,todate,LoginName),SP2有一個輸入參數(LoginName)。 我想要做的是:調用裏面SP2 SP1的WHERE子句爲:如何調用where子句中的存儲過程
SELECT column1,
column2,
column3
from <Sometable>
where column1<=fromdate and column1>=todate and column2 in(exec SP2 @LoginName)
IAM不知道語法的,但是這是我想達到的目標。 需要幫助
酷招!我們可以改變一個表變量嗎?臨時表的範圍有所不同,我發現表變量在這裏是一個更好的方法。 – 2011-06-09 07:54:09
@John - 當然可以,一個@table或物理表是INSERT ... EXEC的可接受目標。我發現@tables由於缺乏統計信息而無法使用,會導致可疑的查詢計劃。 – 2011-06-09 07:56:07
對於大型數據集,你不會使用@table嗎? – 2011-06-09 07:59:27