2009-11-17 120 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;