我正在編寫一個腳本,其中多個後續過程需要一個過程的輸出。所以,我需要綁定變量,而不是替代變量。但是,無論何時使用變量,它都被清除。這使得不可能多次使用變量的值。完全相同的腳本適用於SQL * Plus。我在下面製作了一個簡短的腳本,說明了這個問題。SQL Developer清除腳本中的綁定變量
這是可以在SQL Developer中更改的設置嗎?這是一個錯誤?在我的情況下,我正在使用SQL Developer版本4.1.5.21.78。
var x varchar2(1)
var y varchar2(1)
print x
print y
exec :x := 'Z';
exec :y := 'Z';
print x
print y
exec :x := :y;
-- Why did that last line clear y?
print x
print y
輸出
X
------
Y
------
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
X
-
Z
Y
-
Z
PL/SQL procedure successfully completed.
Y
-
X
-
Z
我在4.2.0.17中看不到,最後兩個打印命令都顯示Z.(您輸出的順序與代碼不匹配,但仍......)。儘管如此,我也發現4.1.5.21中的問題,所以它在該版本中看起來像是一個bug。升級似乎是一種解決方法? –
我認爲這可能是此錯誤的另一個示例:https://stackoverflow.com/q/43401127/84206 – AaronLS