问答详情
源自:2-2 [Oracle] 带参数的存储过程

那位大佬帮我看下哪里错了创建完就报错

--创建带参数的存储过程

--给指定员工涨工资100,并且打印涨前和涨后的工资

create  or replace  procedure raisesalary(7369 in number)

as

--定义一个变量保存涨前工资

psal emp.sal%type;

--psal为定义的变量   emp.sal%type意思是指使用emp里面的sal的数据类型类型

begin

--得到涨前的薪水

select  sal into psal  from  emp  where  empno=7369;

--得到涨后的薪水

update  emp  set sal=sal+100 where empno=7369;

--打印涨前涨后的薪水

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

end;

/


提问者:qq_zyq_2 2019-12-02 16:25

个回答

  • 慕斯7274087
    2023-05-23 11:56:58

    --创建带参数的存储过程        给指定员工涨工资100,并且打印涨前和涨后的工资

    create  or replace  procedure raisesalary(ygh in number)    --可以设定字符代替员工号,如ygh,而不是一个确定的数字

    as

    --定义一个变量保存涨前工资

    psal emp.sal%type;

    --psal为定义的变量   emp.sal%type意思是指使用emp里面的sal的数据类型类型

    begin

    --得到涨前的薪水

    select  sal into psal  from  emp  where  empno=ygh ;

    --得到涨后的薪水

    update  emp  set sal=sal+100 where empno=ygh ;

    --打印涨前涨后的薪水

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

    end;

    /


  • 慕虎3246728
    2019-12-07 16:18:23

    create  or replace  procedure raisesalary(7369 in number),这里的7369换成字符串,比方说abcd,函数定义时参数名要用字符串,不能用数字