存储过程

本文介绍Oracle数据库中使用PL/SQL编写存储过程的方法,包括无参及带参存储过程的创建与调用,演示了如何实现基本的数据操作及输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



--第一个存储过程:打印helloWord

/**
1.exec sayhelloworld();
2.begin 
sayhelloworld();
sayhelloworld();
end;
*/
create or replace procedure sayhelloworld
as
--说名部分
begin
       dbms_output.put_line('HelloWord');  
end;

/

执行存储过程

SQL> set serveroutput on
SQL> exec sayhelloworld();
HelloWord
PL/SQL procedure successfully completed

------------------------------------------------------------------------------------------------------------------------

--创建一个带参数的存储过程
--给指定的员工涨100元钱的工资,并且打印涨前和涨后的薪水
create or replace procedure raisesalary(eno in number)
as
--定义一个变量保存涨前的薪水
psal emp.sal%type;
begin 
--得到员工涨前的薪水
select sal into psal form emp where empno=eno;
--给该员工涨100
update emp set sal=sal+100 where empno=eno;
--打印
dbms_output.put_line('涨前:'||psal||'涨后:'||(100+psal));
end;
/


SQL> begin
  2  raisesalary(7839);
  3  commit;
  4  end;
  5  /
涨前:5000涨后:5100
PL/SQL procedure successfully completed

---------------------------------------------------------------------------------------------------------------

--out参数:查询某个员工姓名月薪和职位
create or replace procedure queryempinfoform(emo in number,
                                             pename out varchar2,
                                             psal   out number,
                                             pjob   out varchar2)
as
begin
  --得到该员工的姓名 月薪 和职位
  select ename,sal,empjob,into pename,psal,pjob from emp where empno=eno;
end;
/

---------------------------------------------------------------------------------------------------------------

create or replace package mypackage as
type empcursor is ref cursor;
procedure queryEmpList(dno in number,empList out empcursor);
  end mypackage;




---------------------------------------------------------------------------------------------------------------


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值