PL/SQL功能特点

1.1结构化程序设计

1.顺序结构

2.分支结构

<pre name="code" class="html">IF...
THEN...;
ELSIF...
THEN...;
END IF;

3.循环结构


<div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"><span style="word-wrap: normal; word-break: normal; line-height: normal; widows: 2; border-collapse: separate; font-stretch: normal;font-size:14px; orphans: 2; border-spacing: 0px;"><span style="color:#FF0000;word-wrap: normal; word-break: normal; line-height: 21px;">1.ORACLE中的GOTO用法</span></span></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"> <wbr><wbr><span style="font-family:宋体;word-wrap: normal; word-break: normal;">DECLARE
x number;
BEGIN
x:=9;
<<repeat_loop>> <wbr><wbr><span style="word-wrap: normal; word-break: normal;"> <wbr></wbr></span>--循环点
x:=x-1;
DBMS_OUTPUT.PUT_LINE(X);
IF X>0
THEN
GOTO repeat_loop; <wbr><wbr><span style="word-wrap: normal; word-break: normal;"> <wbr></wbr></span>--当x的值小于9时,就goto到repeat_loop
END IF;
END;
/</wbr></wbr></wbr></wbr></span></wbr></wbr></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"> <wbr><wbr></wbr></wbr></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"><span style="color:#FF0000;word-wrap: normal; word-break: normal;">2。ORACLE中的FOR循环用法</span></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"><span style="font-family:宋体;word-wrap: normal; word-break: normal;">DECLARE
X number; <wbr><wbr><span style="word-wrap: normal; word-break: normal;"> <wbr></wbr></span>--声明变量
BEGIN
x:=1; <wbr><wbr> <wbr><wbr> <wbr><wbr><span style="word-wrap: normal; word-break: normal;"> <wbr></wbr></span>--给初值
FOR X IN REVERSE 1..10 LOOP <wbr><wbr> <wbr><wbr><span style="word-wrap: normal; word-break: normal;"> <wbr></wbr></span>--reverse由大到小
DBMS_OUTPUT.PUT_LINE('内:x='||x);
END LOOP;
DBMS_OUTPUT.PUT_LINE('end loop:x='||X); <wbr><wbr> <wbr><wbr><span style="word-wrap: normal; word-break: normal;"> <wbr></wbr></span>--x=1
END;
/</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"> <wbr><wbr></wbr></wbr></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"><span style="color:#FF0000;word-wrap: normal; word-break: normal;">3。ORACLE中的WHILE循环用法</span></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"><span style="font-family:宋体;word-wrap: normal; word-break: normal;">DECLARE
x number;
BEGIN
x:=0;
WHILE x<9 LOOP
x:=x+1;
DBMS_OUTPUT.PUT_LINE('内:x='||x);
END LOOP;
DBMS_OUTPUT.PUT_LINE('外:x='||x);
END;
/</span></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"> <wbr><wbr></wbr></wbr></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"><span style="color:#FF0000;word-wrap: normal; word-break: normal;">4。ORACLE中的LOOP循环用法</span></div><div style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(204, 232, 207);"><span style="font-family:宋体;word-wrap: normal; word-break: normal;">DECLARE
x number;
BEGIN
x:=0;
LOOP
x:=x+1;
EXIT WHEN x>9;
DBMS_OUTPUT.PUT_LINE('内:x='||x);
END LOOP;
DBMS_OUTPUT.PUT_LINE('外:x='||x);
END;</span></div>
1.2与SQL语言整合(参考DML/DDL/DCL及动态SQL)

只能直接使用DML语句,处理DDL语句的方式是使用动态SQL。

1.3面向对象开发

<pre name="code" class="html">CREATE OR REPLACE TYPE emp_obj AS OBJECT();
--定义对象类型体,实现对象方法
CREATE OR REPLACE TYPE BODY  emp_obj AS...
END;

1.4模块化应用程序开发

创建函数封装

CREATE OR REPLACE FUNCTION getaddsr(p_job VARCHAR2) 
RETURN NUMBER 
AS 
v_result NUMBER(7,2);
BEGIN
 IF...THEN...;
 ELSIF...THEN...;
END IF;
RETURN v_result;
END;

调用函数简化程序

v_ratio:=getaddsr(v_job);

1.5提高应用程序性能

通过在应用程序中嵌入PL/SQL块,在网络上只需要发送一次PL/SQL块,就可以同时执行多条SQL语句,大大提高了程序性能。












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值