2009-11-17 121 views
1

我有一個腳本,它簡單地連接到sql * plus中的表並在表中插入一行。運行sql * plus腳本時出錯

它拋出一個錯誤如下:

SP2-0552: Bind variable "BIND" not declared 

我不能夠找出綁定變量是在它試圖插入查詢到底是什麼。

+2

請發佈腳本文本 – 2009-11-17 14:28:01

+3

向我們展示腳本可能會幫助我們更輕鬆地找出問題 – Glen 2009-11-17 14:28:11

回答

4

您正在嘗試運行這樣的SQL:

SELECT 1 FROM DUAL WHERE :BIND = 1; 

的SQL * Plus標識:BIND作爲綁定變量,但是你有沒有宣佈一個在會話中呢。要聲明綁定變量,請使用VAR(IABLE)命令。

VAR BIND NUMBER 

然後,您可以爲該變量指定一個值。

EXEC :BIND := 1 

再次運行select以確認現在設置了綁定變量。請注意,您也可以使用此變量來保存單行查詢的結果。

SELECT 1 INTO :BIND FROM DUAL;