oracle ora-06550 错误 提示必须声明标识符‘scott’

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle ora-06550 错误 提示必须声明标识符‘scott’相关的知识,希望对你有一定的参考价值。

DECLARE
SNAME EMP.ENAME%TYPE;
EJOB EMP.JOB%TYPE;
ESAL EMP.SAL%TYPE;
BEGIN
SNAME:=&NO;
SELECT JOB, SAL INTO EJOB, ESAL FROM EMP WHERE ENAME = SNAME;
IF (EJOB = 'analyst') THEN
ESAL := ESAL * 1.1;
ELSIF (EJOB = 'clerk') THEN
ESAL := ESAL * 1.2;
ELSIF (EJOB = 'manager') THEN
ESAL := ESAL * 1.2;
ELSIF (EJOB = 'president') THEN
ESAL := ESAL * 1.2;
ELSIF (EJOB = 'salesman') THEN
ESAL := ESAL * 1.2;
END IF;
UPDATE EMP SET SAL = ESAL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('no data found');
END;

运行后输入scott,继续执行出错。这里 SNAME:=&NO; no自动变为大写,怀疑为系统保留字,但是在v$reserved_words里查显示不是保留字。 NO换成en或其他都没用

参考技术A

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

参考技术B 在弹出窗口输入的时候要加引号。英文状态下比如 'scott' 参考技术C SNAME:=&NO;
这是赋值语句吗?
NO如果是一个传入的参数的话 不应该有&符号
还有
你这是匿名存储过程 哪来的输入参数啊追问

就是运行后 根据外部输入的一个字段进行判断,看看是否为以下某部门的一支,然后对此字段所在的部门进行工资的更改操作。

追答

那为啥要用匿名存储过程呢。。。

本回答被提问者采纳
参考技术D 是不是需要在表名前加上数据库名

Navicat:连接Oracle时,提示ORA-28547,Cannot load OCI DLL.193,ORA-03135错误

摘要:最开始采用 Navacat 12 连接 Oracle 11g 数据的时候,提示ORA-28547错误。手动下载对应 Oracle 版本 oci 并配置后,提示 Cannot load OCI DLL.193错误。手动下载对应 SQL*Plus并配置后,又重新提示ORA-28547错误。后续重新安装 Navacat 15后,初始连接 Orcale 提示 ORA-03135错误,配置为手动下载的oci,SQL*Plus后成功连接 Orcale 11。

相关文章
Navicat:连接Oracle时,提示ORA-28547,Cannot load OCI DLL.193,ORA-03135错误
Navicat自动备份数据库

一、问题现状

问题分为Navicat 12 和 Navicat 15 两个版本进行记录,

1.1 Navicat 12

在打开Navicat 12版本后,直接连接 Oracle 时,提示此错误 手动下载对应 Oracle 版本 oci文件,并配置Navicat 12后,提示此错误 手动下载对应 SQL*Plus后,同时配置oci,SQL*Plus后,又回到初始状态,提示 ORA-28547错误。

1.2 Navicat 15

在打开Navicat 15版本后,直接连接 Oracle 时,提示此错误 配置为手动下载的oci,SQL*Plus后成功连接 Orcale 11。


二、解决办法

对于连接 Oracle 失败这个问题不好说怎么处理,这个问题在不同环境下,同样的方法有时候能成功,有的时候不能成。本次处理对于 Navacat 12版本就没有成功。

01、查看windows系统版本及位数

方式一:
使用“win+r”快捷键,打开“运行”窗口,输入winver,单击“确定”。

方式二:
使用“win+r”快捷键,打开“运行”窗口,输入“msinfo32.exe”,单击“确定”。 02、PLSQL查看 Oracle 版本

方式一:
打开SQL窗口:菜单栏中 / 文件 / 新建 / SQL窗口 / SQL窗口输入SQL语句或选中待执行SQL语句,点击“运行”或者按快捷键“F8”。 方式二:
pl/sql developer 里查看 Reports / DBA / NLS Database Parameters / NLS_RDMBS_VERSION。

03、根据indwos版本,Oracle版本下载对应oci和 SQL*Plus

下载地址: Oracle对应客户端

根据对应版本选择,比如此处选中windwos 64未 下载对应oci和 SQL*Plus 解压文件,两个压缩包的里面文件名一致,可以将两个文件直接存放在一个文件夹中。
04、配置Navicat

Navicat 12和Navicat 15 配置位置都差不多,这里帖一张 Navicat 15的。
Navicat 12:打开Navicat / 工具 / 选项 / 其他 / OCI
Navicat 15:打开Navicat / 工具 / 选项 / 环境 配置后,重启一下Navicat。
05、成功连接

以上是关于oracle ora-06550 错误 提示必须声明标识符‘scott’的主要内容,如果未能解决你的问题,请参考以下文章

Oracle常见错误:ORA-06550ORA-00911ORA-02085

ORA-06550,PLS-00306;向 Oracle 过程插入数据时出错

必须声明组件错误 (ORA-06550)

oracle - PLS-00103 & ORA -06550 关于程序

当导入到 oracle 10g 得到错误 6550

ORA-06550 和 PLS-00103