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語句,大大提高了程序性能。












發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章