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

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

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

    kxbin
    成功留給有準備的人
    posts - 10,  comments - 35,  trackbacks - 0
    --1定義標量變量
    --
    (1)定義語法
    變量名 [constant] 數(shù)據(jù)類型 [not null] [:= | default expr]
    -- constant:用于指定常量。必須指定初始值
    --
     := 用于為變量和常量指定初始值
    --
     expr初始值的pl/sql表達式,可以是文本值、變量、函數(shù)等
    --
    示例1:
    v_name varchar2(10);
    v_rate constant 
    number(3,2) := 5.5;
    v_valid boolean 
    not null default false;
    --(2)使用
    --
    變量賦值使用等號前加冒號(:=)
    --
    示例2:
    declare
    v_name 
    varchar2(10);
    v_money 
    number(6,2);
    c_tax_rate constant 
    number(3,2) := -0.03;
    v_tax_money 
    number(6,2);
    begin
     
    select user_name,game_money into v_name,v_money 
     
    from user_info where user_id = 100000;
     v_tax_money :
    = v_money*c_tax_rate;
     dbms_output.put_line(
    'name:'||v_name);
     dbms_output.put_line(
    'money:'||v_money);
     dbms_output.put_line(
    'rate:'||v_tax_money);
    end
    --(3)使用%TYPE屬性
    v_name user_info.user_name%TYPE;
    v_money user_info.game_money
    %TYPE;
    c_tax_rate constant 
    number(3,2) := -0.03;
    v_tax_money v_money
    %TYPE;
    --變量v_name,v_money與user_info表的user_name,game_money列的類型和長度完全一致
    --
    變量v_tax_money與變是v_money的類型和長度完全一致

    --2復合變量
    --
    (1)pl/sql記錄(類似于結(jié)構(gòu))
    --
     在定義部分定義記錄類型和記錄變量,在執(zhí)行部分引用該記錄變量
    --
     引用記錄成員時必須要加記錄變量作為前綴(記錄變量。記錄成員)
    --
    示例3:
    declare
    TYPE record_type 
    IS RECORD(
      v_name user_info.
    user_name%TYPE,
      v_money user_info.game_money
    %TYPE
    );
    emp_record record_type;
    begin
     
    select user_name,game_money into emp_record 
     
    from user_info where user_id = 100000;
     dbms_output.put_line(
    'name:'||emp_record.v_name);
     dbms_output.put_line(
    'money:'||emp_record.v_money);
    end
    --(2)pl/sql表(類似于數(shù)組)
    --
     pl/sql表與數(shù)組區(qū)別:下標沒有上下限,個數(shù)年沒有限制,下票可以為負值
    --
     必須先在定義部分定義pl/sql表類型和pl/sql表變量,在執(zhí)行部分引用該pl/sql表變量
    --
    示例4:
    declare
    TYPE name_table_type 
    IS TABLE OF user_info.user_name%TYPE 
      
    INDEX BY BINARY_INTEGER;
    v_name name_table_type;
    begin
     
    select user_name into v_name(-1
     
    from user_info where user_id = 100000;
     dbms_output.put_line(
    'name:'||v_name(-1));
    end
    --(3)嵌套表
    --
    (4)VARRAY(變長數(shù)組)

    --3 參照變量
    --
     用于存放數(shù)值指針的變量。
    --
    (1)游標變量(REF CURSOR)
    --
     靜態(tài)游標:需要在定義游標時指定相應的select語句
    --
     示例5:
    declare
      type c1 
    is ref cursor;--c1為ref cursor類型
      emp_cursor c1;--emp_cursor為游標變量
      v_name user_info.user_name%TYPE;
      v_money user_info.game_money
    %TYPE;
    begin
      
    open emp_cursor for --打開游標變量時指定了對應的select語句
      select user_name,game_money from user_info where  user_id = 100000;
      loop
        
    fetch emp_cursor into v_name,v_money;
        
    exit when emp_cursor%notfound;
        dbms_output.put_line(v_name);
      
    end loop;
    end;
    -- 動態(tài)游標:在定義游標變量時不要需指定相應的select語句,而是打開游標時指定select語句
    --
    (2)對象類型變量(REF obj_type)
    --
     是指向?qū)ο髮嵗闹羔?/span>
    --
     示例6:
    create or replace type home_type as object(--建立對象類型
      street varchar2(50),city varchar2(20),
      state 
    varchar2(20),zipcode varchar2(6),
      owner 
    varchar2(10)
    );
    create table homes of home_type;--建表
    insert into homes values('上海路100號','上海','200000','junly');
    commit;
    --對象表homes存放家庭地址及戶主姓名,如每個家庭有四口人,為了同一家庭成員共享家庭地址,
    --
    可使用REF引用home_type對象類型,從而降低占用空間。
    create table person(
      id 
    number(6primary key,
      name 
    varchar2(10),
      addr ref home_type
    );
    insert into person select 1,'junly',ref(p) from homes p where p.owner='junly'
    insert into person select 2,'junl2',ref(p) from homes p where p.owner='junly'
    --person表插入數(shù)據(jù)時,addr列將存入指向homes表相應數(shù)據(jù)的地址指針

    --4 LOB變量
    /*用于存儲大批量數(shù)據(jù)的變量
    (1)內(nèi)部LOB
     CLOB    支技事務操作   存儲數(shù)據(jù)庫中   用于存儲大批量字符數(shù)據(jù)
     BLOB    支技事務操作   存儲數(shù)據(jù)庫中   用于存儲大批量二進制數(shù)據(jù)
     NCLOB   支技事務操作   存儲數(shù)據(jù)庫中   用于存儲大批量字符數(shù)據(jù)
    (2)外部LOB
     BFILE   不支技事務     存在OS文件中   存儲指向OS文件的指針
    */

    posted on 2012-09-05 16:13 kxbin 閱讀(527) 評論(0)  編輯  收藏 所屬分類: ORACLE轉(zhuǎn)發(fā)
    你恨一個人是因為你愛他;你喜歡一個人,是因為他身上有你沒有的;你討厭一個人是因為他身上有你有的東西;你經(jīng)常在別人面前批評某人,其實潛意識中是想接近他。

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(5)

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    J2EE

    java技術網(wǎng)站

    Linux

    平時常去的網(wǎng)站

    數(shù)據(jù)庫

    電影網(wǎng)站

    網(wǎng)站設計

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 在线a亚洲v天堂网2018| 爱情岛亚洲论坛在线观看| 亚洲精品视频在线看| 手机在线看永久av片免费| 女同免费毛片在线播放| 国产精品亚洲一区二区在线观看| 亚洲熟妇无码久久精品| 亚洲色成人网站WWW永久| 又爽又高潮的BB视频免费看| 在线视频免费观看高清| 亚洲视频免费观看| 国产精品免费看久久久 | 国产无遮挡裸体免费视频在线观看| 亚洲av无码一区二区三区在线播放 | 在线亚洲97se亚洲综合在线| 暖暖免费高清日本中文| 成年女人午夜毛片免费视频| 麻豆高清免费国产一区| 182tv免费视视频线路一二三| 最新国产乱人伦偷精品免费网站| fc2成年免费共享视频网站| 羞羞漫画在线成人漫画阅读免费| 亚洲成在人线在线播放无码| 亚洲欧美日韩综合久久久久| 亚洲日本乱码卡2卡3卡新区| 亚洲13又紧又嫩又水多| tom影院亚洲国产一区二区| 亚洲av午夜精品无码专区| 狠狠色香婷婷久久亚洲精品| 亚洲欧洲日韩国产一区二区三区| 亚洲中文字幕在线无码一区二区| 亚洲人成7777影视在线观看| 亚洲mv国产精品mv日本mv| 456亚洲人成在线播放网站| 亚洲一久久久久久久久| 亚洲JLZZJLZZ少妇| 午夜亚洲国产精品福利| 无遮挡免费一区二区三区 | 亚洲色大成网站www永久一区| 亚洲国产精品一区第二页 | 永久免费视频网站在线观看|