<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-12  評論-0  文章-3  trackbacks-0

    PL/SQL塊結(jié)構(gòu)

    PL/SQL是一種塊結(jié)構(gòu)的語言,組成PL/SQL程序的單元是邏輯塊,一個PL/SQL 程序包含了一個或多個邏輯塊,每個塊都可以劃分為三個部分。與其他語言相同,變量在使用之前必須聲明,PL/SQL提供了獨立的專門用于處理異常的部分,下面描述了PL/SQL塊的三個不同部分:

    1.         聲明部分(Declaration section)

    聲明部分包含了變量和常量的數(shù)據(jù)類型和初始值。這個部分是由關(guān)鍵字DECLARE開始,如果不需要聲明變量或常量,那么可以忽略這一部分;需要說明的是游標的聲明也在這一部分。

    2.         執(zhí)行部分(Executable section)

    執(zhí)行部分是PL/SQL塊中的指令部分,由關(guān)鍵字BEGIN開始,所有的可執(zhí)行語句都放在這一部分,其他的PL/SQL塊也可以放在這一部分。

    3.         異常處理部分(Exception section)

    這一部分是可選的,在這一部分中處理異常或錯誤。

     

    PL/SQL塊語法

    [DECLARE] 
    ---declaration statements 
    BEGIN 
    ---executable statements 
    [EXCEPTION] 
    ---exception statements 
    END

          PL/SQL塊中的每一條語句都必須以分號結(jié)束,SQL語句可以是多行的,但分號表示該語句的結(jié)束。一行中可以有多條SQL語句,他們之間以分號分隔。每一個PL/SQL塊由BEGINDECLARE開始,以END結(jié)束。注釋由--標示。

     

    PL/SQL塊的命名和匿名

    PL/SQL程序塊可以是一個命名的程序塊也可以是一個匿名程序塊。匿名程序塊可以用在服務(wù)器端也可以用在客戶端。

    命名程序塊可以出現(xiàn)在其他PL/SQL程序塊的聲明部分,這方面比較明顯的是子程序,子程序可以在執(zhí)行部分引用,也可以在異常處理部分引用。 
           PL/SQL
    程序塊可被獨立編譯并存儲在數(shù)據(jù)庫中,任何與數(shù)據(jù)庫相連接的應(yīng)用程序都可以訪問這些存儲的PL/SQL程序塊。ORACLE提供了四種類型的可存儲的程序:函數(shù);過程;包和觸發(fā)器

     

    1.函數(shù)

    函數(shù)是命名了的、存儲在數(shù)據(jù)庫中的PL/SQL程序塊。函數(shù)接受零個或多個輸入?yún)?shù),有一個返回值,返回值的數(shù)據(jù)類型在創(chuàng)建函數(shù)時定義。定義函數(shù)的語法如下:

    FUNCTION name [{parameter[,parameter,])] RETURN datatypes IS 
    [local declarations] 
    BEGIN 
    execute statements 
    [EXCEPTION 
    exception handlers
    ] 
    END [name]


        2.過程

    存儲過程是一個PL/SQL程序塊,接受零個或多個參數(shù)作為輸入(INPUT)或輸出(OUTPUT)、或既作輸入又作輸出(INOUT),與函數(shù)不同,存儲過程沒有返回值,存儲過程不能由SQL語句直接使用,只能通過EXECUT命令或PL/SQL程序塊內(nèi)部調(diào)用,定義存儲過程的語法如下:

    PROCEDURE name [(parameter[,parameter,])] IS 
    [local declarations] 
    BEGIN 
    execute statements
    [EXCEPTION 
    exception handlers 
    ]
    END [name]

     

    3.包(package)

    包其實就是被組合在一起的相關(guān)對象的集合,當包中任何函數(shù)或存儲過程被調(diào)用,包就被加載入內(nèi)存中,包中的任何函數(shù)或存儲過程的子程序訪問速度將大大加快。

    包由兩個部分組成:規(guī)范和包主體(body),規(guī)范描述變量、常量、游標、和子程序,包體完全定義子程序和游標。


        4.觸發(fā)器
    (trigger)

    觸發(fā)器與一個表或數(shù)據(jù)庫事件聯(lián)系在一起的,當一個觸發(fā)器事件發(fā)生時,定義在表上的觸發(fā)器被觸發(fā)。

    posted on 2005-12-26 17:22 簡單愛 閱讀(287) 評論(0)  編輯  收藏 所屬分類: Oracle

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 日本免费污片中国特一级| 亚洲国产成人久久综合| 久久久久久国产a免费观看不卡 | 久久精品亚洲中文字幕无码网站 | 香蕉免费一区二区三区| 国产亚洲成av人片在线观看| 中文在线观看永久免费 | 91丁香亚洲综合社区| 免费观看的毛片大全| 国产成人亚洲精品| 精品少妇人妻AV免费久久洗澡| 亚洲免费福利在线视频| 免费看www视频| 狼色精品人妻在线视频免费| 亚洲天堂免费在线视频| 丁香花在线视频观看免费 | 亚洲精品蜜夜内射| 亚洲国产一级在线观看 | 啊灬啊灬别停啊灬用力啊免费看| 边摸边吃奶边做爽免费视频99| 久久久久亚洲av成人无码电影 | 亚洲天堂2017无码中文| 成年女人毛片免费播放人 | 美女被爆羞羞网站免费| 亚洲综合在线另类色区奇米| 免费无码VA一区二区三区| 亚洲人成电影网站| 久久久久久久亚洲Av无码| 日本免费人成视频在线观看| 久久精品国产亚洲av高清漫画| av无码国产在线看免费网站| 日韩欧美亚洲国产精品字幕久久久| 亚洲人成网站色在线入口| 最近免费2019中文字幕大全| 亚洲精品国产suv一区88| 国产亚洲视频在线播放| 国产99视频精品免费观看7| 免费精品久久久久久中文字幕| 亚洲资源在线观看| 亚洲 小说区 图片区 都市| 免费视频成人片在线观看|