PL/SQL是塊結構語言。塊由DECLARE,BEGIN,EXCEPTION,END關鍵字劃分,并且劃分為3個不同的區域:
聲明區域 該區域聲明變量,常量以及其他程序元素執行區域 該塊的執行主體,該區域包括了塊執行是將被運行的語句異常區域 該區域可用于捕獲執行區域運行時產生的各種異常3個區域中,只有執行區域是必須的,其他兩個區域都是可選的
[DECLARE] Declaration statements;BEGIN Execution statements; [EXCEPTION] Exception handling statements;END;僅包含執行區域的hello world
BEGIN DBMS_OUTPUT.put_line ('Hello World!');END;包含所有區域的hello world
DECLARE l_message VARCHAR2 (100) := 'Hello World!';BEGIN DBMS_OUTPUT.put_line (l_message);EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line (SQLERRM);END;塊結構按是否命名,可分為匿名塊和命名塊。匿名塊是PL/SQL中最簡單的程序單元,匿名塊定義后,只能被執行一次,“基本結構”中的Hello World就是匿名塊;命名塊對程序塊賦名后,可以多次引用執行同一個命名塊。
是函數和過程是都是命名塊。
程序塊支持嵌套,可以通過在任意執行語句前通過BEGIN-END的形式引入嵌套塊。
[DECLARE] Declaration statements;BEGIN [DECLARE] Declaration statements; BEGIN Execution statements; [EXCEPTION] Exception handling statements; END; Execution statements; [EXCEPTION] Exception handling statements;END;嵌套的程序塊提供了對程序的更好的控制: 1. 可以優化變量的內存分配,把特定的代碼才需要的變量留到代碼所在的嵌套塊中聲明,使變量在嵌套塊真正需要執行的時候才被分配 2. 提供更細粒度的異常處理邏輯,在嵌套塊內部直接捕獲嵌套塊中自己生成的異常,限制異常的傳播
新聞熱點
疑難解答