2012-12-15 34 views
0

如何使用變量,如選擇象下面這樣:如何使用變量,如選擇

SELECT @V_BALANCE_PRIN=E.REC_PRINCIPAL_OS AS BALANCE_PRINCIPAL 
FROM CR_TERMINATION_DTL E 
+1

你需要分配和選擇在同一個查詢?我認爲這是不可能的。 – TechDo

+0

任何其他替代解決方案PLZ – user1905837

+0

如果表CR_TERMINATION_DTL中沒有1條記錄,則需要使用遊標,但性能非常低。 – Justin

回答

0

如何兩個查詢:

SELECT @V_BALANCE_PRIN=E.REC_PRINCIPAL_OS FROM CR_TERMINATION_DTL E 
SELECT @V_BALANCE_PRIN AS BALANCE_PRINCIPAL 
1

你確實需要2個查詢來做到這一點我相信,你可以同時聲明和分配變量,但不能選擇它。如果你選擇@variable =(查詢),你不會得到顯示的結果,你只需分配值。

因此,我認爲最好的,你可以做(​​用線最少)是:

DECLARE @V_BALANCE_PRIN NVARCHAR(10) = (SELECT E.REC_PRINCIPAL_OS FROM CR_TERMINATION_DTL E) 
SELECT @V_BALANCE_PRIN AS BALANCE_PRINCIPAL 

顯然你的數據類型必須匹配,且還必須確保該子查詢只返回Justin指出的一個單一的值,否則會出錯。

+0

我應該補充說,這隻能在SQL 2008 +上運行 – steoleary