存储过程

1.创建和使用存储过程

          语法: 

                 create or replalce PROCEDURE 过程名(参数列表)

                  as

                    PLSQL子程序体;

eg: --第一个存储过程:打印Hello World  无参数列表
   
    /*
        调用存储过程:
            1. exec sayHelloWorld();    --仅调用一次
            2. begin
                    sayHelloWorld();
                    sayHelloWorld();
                    --有几次就调用几次
               end; 
                 /
    */

    create or replace procedure sayHelloWorld
    as
    --说明部分
    begin
        dbms_output.put_line("Hello World");
    end;
      /
eg2: --带参数的存储过程
     --:为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水

 /*
    如何调用:
    begin:
        raisesalary(123);
        raisesalary(321);
      commit;   --保证以上两个调用是出于同一个事物中
    end;
    /

  */
create or replace procedure raisesalary(eno in number)
--带有参数的存储过程,需要指明该参数是输入参数(in)还是输出参数
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和rollback

    --打印
    dbms_output.put_line('涨前 : '||psal||' 涨后 : '||(psal + 100));
end;
/

 

你可能感兴趣的:(*Oracle*,oracle,存储过程)