Oracle 命令操作之 存储过程

本文展示了在 Oracle 数据库中创建和使用 PL/SQL 存储过程的方法。通过具体实例介绍了如何更新记录、查询特定条件下的数据数量以及获取部门员工的平均薪资等操作。

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

SQL> conn scott/tiger
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
Connected as scott
SQL> create or replace procedure p1
  2  	is
  3  	begin
  4  	update scott.emp set ename ='candy' where empno=7876;
  5  	end p1;
  6  /

Procedure created
SQL> set serveroutput on;
SQL> declare
  2  begin
  3  p1;
  4  end;
  5  /

PL/SQL procedure successfully completed
SQL> conn system/manager
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
Connected as system
SQL> create or replace procedure p2
  2  	(v_zym in xs.zym%type,person_num out number)
  3  	is
  4  	begin
  5  		select count(zxf) into person_num from xs where zym=v_zym and zxf>40;
  6  end p2;
  7  /

Procedure created
SQL> set serveroutput on;
SQL> declare
  2  person_n number(3);
  3  begin
  4  p2('计算机',person_n);
  5  dbms_output.put_line(person_n);
  6  end;
  7  /
2

PL/SQL procedure successfully completed
SQL> create or replace procedure p3
  2  	is
  3  	v_deptno scott.emp.deptno%type;
  4  	v_pn number;
  5  	v_avg scott.emp.sal%type;
  6  begin
  7  select deptno,person_num,avgsal into v_deptno,v_pn,v_avg
  8  	from(select deptno,count(*) person_num,avg(sal) avgsal from scott.emp
  9  		group by deptno order by person_num desc) where rownum<=1;
 10  dbms_output.put_line(v_deptno||' '||v_pn||' '||v_avg);
 11  end p3;
 12  /

Procedure created

SQL> set serveroutput on;
SQL> declare
  2  begin
  3  p3;
  4  end;
  5  /
30 6 1566.67

PL/SQL procedure successfully completed
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值