运行sql * plus脚本时出错

时间:2009-11-17 14:24:54

标签: sql oracle unix shell sqlplus

我有一个脚本,它只是连接到sql * plus中的表,并在表中插入一行。

它发出如下错误:

SP2-0552: Bind variable "BIND" not declared

我无法确切地知道它试图插入的查询中的绑定变量是什么。

1 个答案:

答案 0 :(得分: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;