我写完之后执行sql,跑存储的时候会报数据未找到错误,后来我加上 exception when no_data_found then sal := 1;没有报错了,但是在命令里面执行成功之后没有打印除结构

来源:2-2 [Oracle] 带参数的存储过程

慕圣5044353

2018-06-04 16:25

create or replace procedure salarys(egh in number)

as


       --定义一个变量保存涨前薪水

       sal emp.salary%type;


begin

       

       --得到员工涨前的薪水

       select salary into sal from emp where employee = egh;

       exception 

     when no_data_found then 

        sal := 1;

       

       --给该员工涨100

       update emp set salary = salary+100 where employee = egh;

       

       --打印

       dbms_output.put_line('涨前:'||sal||'涨后:'||(sal+100));


end;

/


写回答 关注

2回答

  • 180416
    2019-01-28 15:38:47

    emp表的两个字段改名了嘛,而且in number 可以读取字符串吗

  • 蕞云天
    2018-06-06 17:37:13

    应为你在命令里面执行前没有打开屏幕输出开关,   写打开,再去执行存储过程,  打开的语句set serveroutput on

Oracle存储过程和自定义函数

Java开发重要课程,Oracle数据库开发工程师的加薪利器

56308 学习 · 118 问题

查看课程

相似问题