SP2-0552:未声明绑定变量-取决于Oracle版本

时间:2018-08-06 11:41:56

标签: sql oracle oracle12c

对于PLSQL中的相同错误,有很多解决方案。我在PLSQL中没有遇到这个问题,但是在SQL中。这发生在一个版本的oracle中,而不是在另一个版本中。

我已经创建了一个表create table test(id number(10), empid number(10))

现在当我插入数据时

SQL> insert into test(id,empid) values (1, &empid)
  2  /
SP2-0552: Bind variable "EMPID" not declared.
SQL>

数据库安装的详细信息是

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
PL/SQL Release 12.2.0.1.0 - Production
CORE    12.2.0.1.0      Production
TNS for 64-bit Windows: Version 12.2.0.1.0 - Production
NLSRTL Version 12.2.0.1.0 - Production

现在相同的查询可以正常工作,并且正在将数据插入

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

编辑: 我没有在任何地方进行任何“定义”。它也发生在新的会话中。此12c版本先前是从11g更新的。定义节目

SQL> define
DEFINE _DATE           = "06-AUG-18" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "mydbname" (CHAR)
DEFINE _USER           = "myusername" (CHAR)
DEFINE _PRIVILEGE      = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1101000600" (CHAR)
DEFINE _EDITOR         = "Notepad" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production" (CHAR)
DEFINE _O_RELEASE      = "1202000100" (CHAR)
DEFINE 1               = "to" (CHAR)
DEFINE 2               = "be" (CHAR)
DEFINE 3               = "pathToMyInstallation\product\11.1.0\client_1\sqlplus\admin\glogin.sql" (CHAR)
SQL>

0 个答案:

没有答案