2012-02-28 77 views
2

我需要在表格中插入存儲過程(SP)結果加上其他一些變量的結果。 我知道如何插入SP結果,但不包括變量。有沒有一種方法可以做到這一點,而無需編寫單獨的更新查詢或將變量傳遞/返回給SP。插入表格存儲過程結果加變量

I.e.

INSERT INTO contacttable(name, address, telnum) 
EXEC GetContactDetails @ContactId 

UPDATE contacttable SET linkId = @LinkId where id = @ContactId 

是否可以將@linkId變量傳入INSERT,而不必進行單獨更新?

謝謝。

回答

4

你不能這樣解釋你當前的情況。

您可以修改proc以接收額外的參數,並從那裏返回它,以便插入語句已經具有此參數,或者您繼續執行您正在執行的操作。

另一種可能性是將proc更改爲表值函數,您可以從結果集中專門選擇所需的列,並在插入中添加額外的參數。例如:

INSERT INTO contacttable(name, address, telnum,linkid) 
select name, address,telnum,@linkid from fnGetContactDetails(@ContactID) 
+0

謝謝你。我從來沒有使用過表值函數,所以會研究這種方法。 – JIbber4568 2012-02-28 14:56:57