溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

PL/SQL 聲明

發(fā)布時(shí)間:2020-08-10 17:12:35 來(lái)源:ITPUB博客 閱讀:154 作者:Ryan_Bai 欄目:關(guān)系型數(shù)據(jù)庫(kù)

一、命名規(guī)范

  • 命名方法

    命名方法
    適用
    UserPrivilege 適合英文比較好,并且喜歡抑揚(yáng)頓挫和有藝術(shù)美感的人
    userprivilege 適合那些英文好,且比較嚴(yán)謹(jǐn)?shù)娜?/td>
    tbl_user_prifilege 適合那些做開(kāi)發(fā)的人(本人常用的命名規(guī)范)
    yhqx 熱愛(ài)中文的人
  • 不使用關(guān)鍵字
    可以參考如下查詢(xún)結(jié)果

    SELECT * FROM V$RESERVED_WORDS WHERE RESERVED='Y';
  • 長(zhǎng)度
    1~30個(gè)字符

二、定義常量

  • 語(yǔ)法:常量名 constant 數(shù)據(jù)類(lèi)型標(biāo)識(shí)符 [not null] := 值

  • 例子:

    i_count constant Int not null:=200      --定義常量i_count,值為200;

三、定義基本數(shù)據(jù)類(lèi)型變量

  • 語(yǔ)法:變量名 類(lèi)型標(biāo)識(shí)符 [not null] := 值

  • 例子:

    sex Boolean not null :=0;                     --定義變量sex 值為0;

四、使用%TYPE定義變量

這個(gè)型式是為了讓變量的數(shù)據(jù)類(lèi)型與表中的數(shù)據(jù)類(lèi)型一致的,定義好以后,表中的數(shù)據(jù)類(lèi)型改變,這個(gè)變量的數(shù)據(jù)類(lèi)型也同時(shí)改變;

  • 語(yǔ)法:變量名 用戶(hù)名.表名.字段名%TYPE;

  • 例子:

    sex SCOTT.Tdetails.SEX%TYPE;       --sex變量就與scott用戶(hù)下的Tdetails表中的sex字段的類(lèi)型一致;

五、記錄類(lèi)型變量

記錄類(lèi)型是把邏輯相關(guān)的數(shù)據(jù)作為一個(gè)單元存儲(chǔ)起來(lái),它必須包括至少一個(gè)標(biāo)量型或RECORD 數(shù)據(jù)類(lèi)型的成員,稱(chēng)作PL/SQL RECORD 的域(FIELD),其作用是存放互不相同但邏輯相關(guān)的信息。

  • 語(yǔ)法:

    TYPE 變量名 IS RECORD(
       變量名1 基本數(shù)據(jù)類(lèi)型,
       變量名2 基本數(shù)據(jù)類(lèi)型,……);
  • 例子:

    TYPE tRecords IS RECORD(  
       Name varchar2,  
       Sex Boolean);  
       ttt tRecords;    --使用這個(gè)變量的的方法
       
    Select name,sex into ttt from classuser;    --這樣就把classuser表里的數(shù)據(jù)放到變量ttt中了.

六、使用%ROWTYPE定義變量

使定義的變量的子變量的類(lèi)型與表中對(duì)應(yīng)的字段的數(shù)據(jù)類(lèi)型一致。

  • 語(yǔ)法:變量名 用戶(hù)名.表名%TYPE;

  • 例子:

    DECLARE  
      to_records tdetails%ROWTYPE;  
    BEGIN  
      SELECT * INTO to_records FROM tdetails where type='pay';  
      DBMS_OUTPUT.PUT_LINE(to_records.object||' '||toRecords.money||' '||toRecords.payDate);  
    END;

七、定義一維表類(lèi)型數(shù)據(jù)

相當(dāng)于一維數(shù)組

  • 語(yǔ)法:TYPE 表類(lèi)型 IS TABLE OF 類(lèi)型 INDEX BY BINARY_INTEGER;

  • 例子:

    TYPE score IS TABLE OF INT(3) INDEX BY BINARY_INTEGER;    --定義了一個(gè)整數(shù)數(shù)組容量為3;  
    score(1)=1;score(2)=2; ……    --訪(fǎng)問(wèn)的時(shí)候用
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI