为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle 报错ORA-00904:标示符无效 (百度了没有解决 )

Oracle 报错ORA-00904:标示符无效 (百度了没有解决 )

create or replace procedure raisesalary(eno in number)as
--定义一个变量保存涨前的薪水 
psal emp.sal%type;
begin
--得到员工涨前的薪水 
select sal into psal from emp where empno=eno;
--给该员工涨100 
update emp set sal=sal+100 where empno=eno;
--需不需要commit?
--注意:一般不在存储过程或者存储函数中,执行commit和rollback
--打印 
dbms_output.put_line('涨前:'||psal||'  涨后:'||(psal+100));
end;

调试时 :

https://img1.sycdn.imooc.com//5b267e9b00017cef09760422.jpg

正在回答

2 回答

看着好像是没毛病啊,检查下emp表,看下select和update的这个列名是否就是你创建的,有没有写错不一致之类的

0 回复 有任何疑惑可以回复我~

1、字段名或者表名写错了,仔细检查核对一下,如果实在是没有发现错的地方就有可能是第二种情况了

第二种情况就是:你的字段包含了oracle的关键字,把报错的字段用双引号括起来试试

 

现在举一个我今天遇到的例子:

 insert into SSQX_SURGERY_INFO (ID, PackId, REMARK, DEPARTID, AMOUNT, PRIORITY)
values (3, 11, '1rt', 1, 1, 'fdg')       一直报PackId是无效标识符

 改成insert into SSQX_SURGERY_INFO (ID, ”PackId“, REMARK, DEPARTID, AMOUNT, PRIORITY)
values (3, 11, '1rt', 1, 1, 'fdg')   就OK啦, PackId在oracle的关键字


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Oracle 报错ORA-00904:标示符无效 (百度了没有解决 )

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信