【发布时间】:2010-12-17 11:31:51
【问题描述】:
我有一个脚本,它简单地连接到 sql*plus 中的表并在表中插入一行。
报错如下:
SP2-0552: Bind variable "BIND" not declared
我无法准确确定绑定变量在它尝试插入的查询中是什么。
【问题讨论】:
-
向我们展示脚本可能会帮助我们更轻松地找出问题
标签: sql oracle unix shell sqlplus
我有一个脚本,它简单地连接到 sql*plus 中的表并在表中插入一行。
报错如下:
SP2-0552: Bind variable "BIND" not declared
我无法准确确定绑定变量在它尝试插入的查询中是什么。
【问题讨论】:
标签: sql oracle unix shell sqlplus
您正在尝试运行这样的 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;
【讨论】: