什么是ORACLE程序块?

发布网友 发布时间:2022-04-23 22:53

我来回答

2个回答

热心网友 时间:2022-04-10 19:27

举个例子给你说明吧:
1.编写PL程序块循环给scott.emp表中所有职工增加工资,每次增加100元,直到平均工资高于5000或任一职工的工资超过6000元为止,最后显示出给所有员工一共增加了多少工资。
2.编写一个PL块,定义一个静态游标存储scott.emp表中所有雇员的员empno、ename和sal,并使用循环打印出所有数据。
3.编写一个存储过程comSalary,分别统计储scott.emp表中所有部门的平均工资,并且只显示出工资超过3500的部门。并编写pl块调用此存储过程。

1.
declare
avg_sal number;
max_sal number;
i integer;
begin
i:=0;
loop
select avg(sal),max(sal) into avg_sal,max_sal from emp;
if avg_sal<=5000 and max_sal<=6000 then
update emp set sal=sal+100;
i:=i+1;
else
exit;
end if;
end loop;
commit;
dbms_output.put_line('共增加工资:'||to_char(i*100));
end;

2.
declare
cursor c1 is select empno,ename,sal from emp;
begin
for acct in c1 loop
dbms_output.put_line('员工号:'||acct.empno||' 员工姓名:'||acct.ename||' 工资:'||acct.sal);
end loop;
end;
3.
create or replace procere comSalary
as
cursor c1 is
select deptno,avg(sal) avg1 from emp group by deptno;
begin
for acct in c1 loop
if acct.avg1 > 3500 then
dbms_output.put_line('部门:'||acct.deptno||' 工资:'||acct.avg1);
end if;
end loop;
end;

其实Oracle程序块,是基于oracle编程的范畴,相当于本来希望通过用其他语言写程序对oracle数据库进行操作的功能,直接放在oracle数据库内部去执行了一样。可以跟存储过程一样理解。

热心网友 时间:2022-04-10 20:45

应该指的是PL/SQL程序!追问我需要更详细的解释

追答就是PL/SQL编程.百度一下.大把资料!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com