-1
我有一個返回x列數的select語句。我也有一個使用3個id的SP,select語句返回給出一個整型結果。我將如何改變下面的陳述來完成這個?看起來在其他地方在線說使用函數,但函數只返回1結果...?選擇語句中的存儲過程
SELECT col1, col2, col3, y, EXEC sp_result_given_col1_col2_col3
FROM TABLE
WHERE col1 = x
我有一個返回x列數的select語句。我也有一個使用3個id的SP,select語句返回給出一個整型結果。我將如何改變下面的陳述來完成這個?看起來在其他地方在線說使用函數,但函數只返回1結果...?選擇語句中的存儲過程
SELECT col1, col2, col3, y, EXEC sp_result_given_col1_col2_col3
FROM TABLE
WHERE col1 = x
這樣的:
SELECT @v1 = col1, @v2 = col2, @v3 = col3, y,
FROM TABLE
WHERE col1 = x;
EXEC sp_result_given_col1_col2_col3 @v1, @v2, @v3;
這裏假設你的查詢只給一個行的結果。
多行你將不得不使用遊標。
注:使用SQL遊標通常表明一個貧窮的設計
我會的程序轉換爲內聯表值函數(如果可能的話),並使用'交叉應用()'。 – SqlZim
@SqlZim - 你爲什麼要那樣做? – Hogan
@Hogan我假設OP想要執行的過程的結果從表中的多個行。根據您的答案,從一行值的值作爲參數不是單個執行過程。 – SqlZim