各位大侠,请教个oracle问题,执行一段代码出现错误,希望各位给出解决办法,谢谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各位大侠,请教个oracle问题,执行一段代码出现错误,希望各位给出解决办法,谢谢谢!相关的知识,希望对你有一定的参考价值。

执行一下代码时:
--创建一个更改emp表sal字段的存储过程
create or replace procedure name_update
(
eno in number,--输入参数,为emp表的EMPNO字段
newsal in number --输入参数,更改sal字段后的新值
) as
--定义部分,定义一个异常
declare exp_name exception;
pragma exception_init(exp_name,-9856);
--执行部分
begin
update emp set sal=newsal where empno=eno;
--如果输入的eno不在emp表中,触发下面的异常,通知用户根据异常信息解决问题。
if SQL%NOTFOUND THEN
raise exp_name;--触发异常语句
end if;
--下面是异常处理语句
exception
when exp_name then
dbms_output.put_line('emp表中不存在:'||eno||'这个编号!');
end;

报错信息如下:
7/1 PLS-00103: 出现符号 "DECLARE"在需要下列之一时: begin function pragma procedure subtype type <an identifier> <a double-quoted delimited-identifier> current cursor delete exists prior external language 符号 "begin" 被替换为 "DECLARE" 后继续。
22/0 PLS-00103: 出现符号 "end-of-file"在需要下列之一时: ( begin case declare end exception exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe purge
请问各位高手是什么原因啊????

存储过程里不需要用declare关键字,直接这样写就行了:
create or replace procedure name_update
(
eno in number,--输入参数,为emp表的EMPNO字段
newsal in number --输入参数,更改sal字段后的新值
) as
--定义部分,定义一个异常
exp_name exception;
pragma exception_init(exp_name,-9856);
begin

......
end;
参考技术A 你在declare上面加个begin,最后一行加个end再试试。

请教各位大侠,如何用xmanager连接 Centos 7

参考技术A 用xshell
详细请看
http://jingyan.baidu.com/article/295430f13fb4db0c7f005065.html

以上是关于各位大侠,请教个oracle问题,执行一段代码出现错误,希望各位给出解决办法,谢谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

请教各位大侠,如何用xmanager连接 Centos 7

请教各位大侠,apache+tomcat 怎么实现http,https的自动切换跳转?

在oracle sql语句里有没有if...else...的用法,请各位大侠给个例子看看,灰常感谢!!

PHP,MySQL链接问题,困扰了两天时间,请教各位大侠

abaqus出现警告信息,请教高手指点

各位大侠,我怎么用DELPHI自带的制作工具把目录也打进去?请教!!1