PL/SQL Developer使用教程:PL/SQL入門知識(二)
PL/SQL Developer是一個集成開發(fā)環(huán)境,它專門針對Oracle數(shù)據(jù)庫的存儲程序單元的開發(fā)所用。開發(fā)Oracle應(yīng)用程序的時候都注重于開發(fā)工具簡單易用,代碼簡潔和開發(fā)效率高等特點。
本文主要介紹PL/SQL的入門知識:PL/SQL 數(shù)組 和PL/SQL 函數(shù)。幫助各位新手快速熟悉PL/SQL和PL/SQL Developer軟件。
PL/SQL 數(shù)組
數(shù)組的定義 TYPE varray_type_name IS VARRAY(n) OF element_type
舉例:
TYPE namearray IS VARRAY(5) OF VARCHAR2(10); Type grades IS VARRAY(5) OF INTEGER;
使用可變數(shù)組:
DECLARE type namesarray IS VARRAY(5) OF VARCHAR2(10); type grades IS VARRAY(5) OF INTEGER; names namesarray; --拿到數(shù)組的引用,下面就可以變長使用該數(shù)組 marks grades; total integer; BEGIN names := namesarray('Kavita', 'Pritam', 'Ayan', 'Rishav', 'Aziz'); marks:= grades(98, 97, 78, 87, 92); total := names.count; --求數(shù)組的長度 dbms_output.put_line('Total '|| total || ' Students'); FOR i in 1 .. total LOOP dbms_output.put_line('Student: ' || names(i) || ' Marks: ' || marks(i)); END LOOP; END;
求數(shù)組的長度 array_name.count
注意: 在Oracle的環(huán)境下,數(shù)組的起始索引從1開始。
PL/SQL子程序被命名之后,可使用一組參數(shù)來調(diào)用PL/SQL塊。 PL/SQL提供兩種子程序:
函數(shù):這些子程序返回一個值,主要用于計算并返回一個值。
過程:這些子程序沒有直接返回值,主要用于執(zhí)行操作。
存儲過程定義:
CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter_name [IN | OUT | IN OUT] type [, ...])] (IS,AS) BEGIN < procedure_body > END[procedure_name];
procedure-name 指定的程序的名稱
[OR REPLACE] 選項允許修改現(xiàn)有的程序
可選的參數(shù)列表中包含的名稱,模式和類型的參數(shù)。IN表示該值將被從外部傳遞,OUT表示該參數(shù)將被用于從過程返回一個值到外面
procedure-body 包含可執(zhí)行部分
AS關(guān)鍵字來代替了IS關(guān)鍵字用于創(chuàng)建一個獨立的程序。
舉例:
CREATE OR REPLACE PROCEDURE greetings AS BEGIN dbms_output.put_line('Hello World!'); END;
創(chuàng)建好的存儲過程只需要運行一下就會自動保存??梢酝ㄟ^選中存儲過程右鍵,進(jìn)行測試。
刪除存儲過程 : drop procedure procedure_name;
舉例說明:
Create PROCEDURE findMin(x IN number, y IN number, z OUT number) ISBEGIN IF x < y THEN z:= x; ELSE z:= y; END IF; END;
create PROCEDURE squareNum(x IN OUT number) ISBEGIN x := x * x; END;
PL/SQL 函數(shù):
創(chuàng)建函數(shù)語法:
CREATE [OR REPLACE] FUNCTION function_name [(parameter_name [IN | OUT | IN OUT] type [, ...])] RETURN return_datatype {IS | AS} BEGIN < function_body > END [function_name];
function-name 指定函數(shù)的名稱
[OR REPLACE] 選項允許修改現(xiàn)有的函數(shù)
可選的參數(shù)列表中包含的名稱,模式和類型的參數(shù)。IN表示該值將被從外部傳遞和OUT表示該參數(shù)將被用于過程外面返回一個值
函數(shù)必須包含一個return語句
return 子句指定要帶函數(shù)返回的數(shù)據(jù)類型
function-body 包含可執(zhí)行部分
AS關(guān)鍵字來代替了IS關(guān)鍵字用于創(chuàng)建一個獨立的函數(shù)
舉例:
CREATE OR REPLACE FUNCTION totalCustomers RETURN number IS total number(2) := 0; BEGIN SELECT count(*) into total FROM customers; RETURN total; END;
create or replace function findMax(x in number,y in number) return number as z number; begin if x > y then z := x; else z := y; end if; return z; end;
本文內(nèi)容到這里就結(jié)束了,希望對您有所幫助~感興趣的朋友可以下載PL/SQL Developer試用版嘗試一下!
相關(guān)內(nèi)容推薦:
想要購買該產(chǎn)品正版授權(quán),或了解更多產(chǎn)品信息請點擊“咨詢在線客服”