什么是ORACLE程序块?
举个例子给你说明吧:
创新互联建站-成都网站建设公司,专注网站设计制作、成都做网站、网站营销推广,域名注册,网络空间,网站运营有关企业网站制作方案、改版、费用等问题,请联系创新互联建站。
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 procedure 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数据库内部去执行了一样。可以跟存储过程一样理解。
ORACLE中,数据块的概念(越详细越好)
数据块是数据库中最小的数据存储单位,用户再对数据库执行输入输出操作时就是从数据块读取的。在oracle11g中,数据块分为头部信息区和存储区,头部信息区不存放数据,但是存放有关存储区中表数据、索引数据的的相关信息起到引导的作用则存储区真正存放数据记录。
标题 你认为在安装Oracle时,指定多大的数块会比较合理?为什么?
块的标准大小由初始化参数DB_BLOCK_SIZE指定。具有标准大小的块称为标准块(StandardBlock)。块的大小和标准块的大小不同的块叫非标准块(NonstandardBlock)。同一数据库中,Oracle9i及以上版本支持同一数据库中同时使用标准块和非标准块。Oracle允许指定5种非标准块(NonstandardBlock)。
数据块(OracleDataBlocks),本文简称为“块”,是Oracle最小的存储单位,Oracle数据存放在“块”中。一个块占用一定的磁盘空间。特别注意的是,这里的“块”是Oracle的“数据块”,不是操作系统的“块”。
Oracle每次请求数据的时候,都是以块为单位。也就是说,Oracle每次请求的数据是块的整数倍。如果Oracle请求的数据量不到一块,Oracle也会读取整个块。所以说,“块”是Oracle读写数据的最小单位或者最基本的单位。
当前名称:oracle块如何理解 oracle 块结构
文章转载:http://scgulin.cn/article/hgcigd.html