:@Maple

存储过程和存储函数的定义

存储过程和存储函数:指存储在数据库中供所有用户调用的子程序叫存储过程、存储函数
存储过程和存储函数的相同点:完成特定功能的程序
存储过程和存储函数的区别:是否用return语句返回值(存储函数可以使用return 存储过程不可以)


创建和使用存储过程

用create procedure命令进阿里存储过程和存储函数
语法:create [or replace] procedure 过程名(参数列表)创建或替换一个存储过程
as
PLSQL子程序体

第一个存储过程

  1. create or REPLACE PROCEDURE sayHello
  2. as
  3. --说明部分
  4. begin
  5. DBMS_OUTPUT.PUT_LINE('Hello World');
  6. end;
  7. --调用存储过程
  8. --plsql打开输出
  9. set serveroutput on
  10. 1.exec sayhello();
  11. 2.begin
  12. sayHello();
  13. sayHello();
  14. end;
  15. /

带参数的存储过程

举例:为指定的员工,涨100块钱工资,并且打印涨前和涨后的薪水

--输入参数还是输出参数
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;
/

--调用存储过程
begin
raisesalary(7839);
raisesalary(7566);
commit;
end;
/