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

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

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

    斷點

    每天進(jìn)步一點點!
    posts - 174, comments - 56, trackbacks - 0, articles - 21

    PL/SQL編程

    Posted on 2010-01-14 22:09 斷點 閱讀(338) 評論(0)  編輯  收藏 所屬分類: SQL

    數(shù)據(jù)類型:

    數(shù)字類型:
    Number用來表示可變長的數(shù)值列,語法為Number(p, s),p是指所有有效數(shù)字的位數(shù),s是指小數(shù)點以后的位數(shù);p和s的取值分別是p=1 to 38,s=-84 to 127;
    有效數(shù)位:從左邊第一個不為0的數(shù)算起,小數(shù)點和負(fù)號不計入有效位數(shù)。

    p>0,對s分3種情況:
    1. s>0
    精確到小數(shù)點右邊s位,并四舍五入。然后檢驗有效數(shù)位是否<=p;如果s>p,小數(shù)點右邊至少有s-p個0填充。
    2. s<0
    精確到小數(shù)點左邊s位,并四舍五入。然后檢驗有效數(shù)位是否<=p+|s|
    3.s是0或者未指定,四舍五入到最近整數(shù)。
    注意:當(dāng)p小于s時候,表示數(shù)字是絕對值小于1的數(shù)字,且從小數(shù)點右邊開始的前s-p 位必須是0,保留s位小數(shù)。

    比如
    Value             Datatype     Stored Value
    123.2564       NUMBER    123.2564
    1234.9876     NUMBER(6)    1235
    1234.9876     NUMBER(6,2)    1234.99
    12345.12345 NUMBER(6,2)    Error
    12345.345     NUMBER(5,-2)    12300
    1234567        NUMBER(5,-2)    1234600
    12345678      NUMBER(5,-2)    Error
    12345.58      NUMBER(*, 1)    12345.6
    0.1               NUMBER(4,5)    Error
    0.01234567   NUMBER(4,5)    0.01235
    0.09999        NUMBER(4,5)    0.09999
    0.099996      NUMBER(4,5)    <> 
     

    用法如下:
    create table t_n(id number(5,2));

    insert into t_n values(123.455);
    insert into t_n values(1.234);
    insert into t_n values(.001);

    select * from t_n 結(jié)果為:
    ID
    123.46
    1.23
    0.00

    Number類型存儲實數(shù),PLS_Integer和BINARY_Integer只能存儲整數(shù)。

    字符類型:

    Char表示定長的字符串,語法Char(L),L是可選的。如果沒有指定L值,默認(rèn)為1;最大長度為32767。

    VarChar2用來存儲可變的字符串,語法VarChar2(L),L是必須的。最大長度為32767。

    布爾類型:

    Boolean類型的合法賦值為True、False和Null。

    類型轉(zhuǎn)換:

    To_Char:可以將Number和Date類型轉(zhuǎn)換為Varchar2類型;

    To_Date:將Char類型轉(zhuǎn)換Date類型;

    To_Number:將Char類型轉(zhuǎn)換Number類型;

    變量和常量:

    變量名稱:1.必須以字母開頭;2.其后可以跟一個或多個字母、數(shù)字(0~9)、特殊字符$、#或_ ;

                  3.變量長度不超過30個字符;4.變量名中不能有空格。

    1.變量的聲明:

    DECLARE
    v_StudentName VARCHAR2(20),
    v_CurrentDate DATE;
    v_NumberCredits NUMBER(3);

    2.自定義的數(shù)據(jù)類型:

    DECLARE
    TYPE t_StudentRecord IS RECORD (FirstName Varchar2(10),LastName Varchar2(10),

    CurrentCredits NUMBER(3));
    v_Student  t_StudentRecord;

    3.變量屬性:

    下面介紹常見的幾種復(fù)合數(shù)據(jù)類型變量的定義。
        (1)使用%type定義變量
        為了讓PL/SQL中變量的類型和數(shù)據(jù)表中的字段的數(shù)據(jù)類型一致,Oracle 9i提供了%type定義方法。這
    樣當(dāng)數(shù)據(jù)表的字段類型修改后,PL/SQL程序中相應(yīng)變量的類型也自動修改。如下:
    declare
       mytable emp.empno%type;
    begin
       select a.empno into mytable
       from emp a
       where a.ename='SCOTT';
       dbms_output.put_line(mytable);
    end;
       

       (2)使用%rowtype定義變量
       
    使用%type可以使變量獲得字段的數(shù)據(jù)類型,使用%rowtype可以使變量獲得整個記錄的數(shù)據(jù)類型。

        比較兩者定義的不同:變量名 數(shù)據(jù)表.列名%type,變量名 數(shù)據(jù)表%rowtype。
    declare
       mytable emp%rowtype;
    begin
       select * into mytable
       from emp a
       where a.ename='SCOTT';
       dbms_output.put_line(mytable.empno||' '||mytable.job);
    end;
     

    流程控制:

     

     待續(xù)。。。

    posted @ 2009-02-03 11:33 斷點 閱讀(176) | 評論 (0)

    主站蜘蛛池模板: 亚洲精品国产第一综合99久久| 亚洲丝袜美腿视频| 亚洲经典千人经典日产| 一二三四影视在线看片免费| 久久亚洲sm情趣捆绑调教| 97青青草原国产免费观看| 亚洲精品免费视频| 亚洲三级在线免费观看| 亚洲国产成+人+综合| 国产91色综合久久免费| 亚洲中文字幕久久精品无码VA | 亚洲精品无码成人片久久不卡 | 亚洲伊人精品综合在合线| 16女性下面无遮挡免费| 亚洲13又紧又嫩又水多| 日本xxwwxxww在线视频免费| 黄人成a动漫片免费网站| 亚洲中文字幕无码专区| 免费视频一区二区| 亚洲第一区视频在线观看| 黄瓜视频高清在线看免费下载| 亚洲国产精品无码中文lv| 免费又黄又爽又猛的毛片| v片免费在线观看| 亚洲VA成无码人在线观看天堂| 无码一区二区三区免费| 亚洲人成毛片线播放| 四虎影视永久免费观看网址| 曰韩无码AV片免费播放不卡| 亚洲AV天天做在线观看| 国产成人无码免费看视频软件| 国产精品亚洲а∨无码播放不卡| 亚洲夜夜欢A∨一区二区三区| 久别的草原电视剧免费观看| 亚洲人成www在线播放| 免费一看一级毛片| 青青青国产手机频在线免费观看| 亚洲最大的黄色网| 国产偷国产偷亚洲清高动态图| 午夜性色一区二区三区免费不卡视频| 国产亚洲精品AAAA片APP|