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

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

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

    posts - 431,  comments - 344,  trackbacks - 0
    SQL語句分為5類
    1. 查詢語句 SELECT
    2. 數據操縱語言(Data Manipulation Language, DML)語句
        INSERT
        UPDATE
        DELETE
    3. 數據定義語言(Data Definition Language, DDL)語句
        CREATE
        ALTER
        DROP
        RENAME
        TRUNCATE
    4. 事務控制(Transaction Control, TC)語句
        COMMIT
        ROLLBACK
        SAVEPOINT
    5. 數據控制語言(Data Control Language, DCL)語句
        GRANT
        REVOKE

    SYSDATE

    CREATE USE username IDENTIFIED BY password
    GRANT CONNECT, RESOURCE TO username

    id INTEGER CONSTRAINT student_pk PRIMARY KEY

    CONSTRAINT ~~~ REFERENCES product_type(id)

    CONSTRAINT compose_pk PRIMARY KEY (column1, column2)

    TO_DATE('25-JUL-2007')+2  => 27-JUL-2007

    連接操作符(||)

    NVL(phone, 'Unknown phone number')

    ANY = SOME       where id > ANY(2, 3, 4)       where id > ALL(2, 3, 4)

    WHERE name LIKE  '%\%%' ESCAPE '\'

    LIKE, IN, BETWEEN, IS NULL, IS NAN, IS INFINITE

    USING => ON    (+)

    _(一個)   %(任意個)

    AND 優先 OR

    GROUP BY 可以不與HAVING字句一起使用,但是HAVING必須必須與GROUP BY字句一起使用。 GROUP BY分組,HAVING過濾。

    SELECT   product_type_id, AVG(price) FROM products WHERE price < 15 GROUP BY product_type_id HAVING AVG(price) > 13 ORDER BY AVG(price)

    兩種函數:單行函數(字符,數字,轉換,日期,正則表達式)和聚合函數

    TO_CHAR(dob, 'MONTH DD, YYYY')      TO_DATE('7.4.07', 'MM.DD.YY')

    ALTER SESSION SET NLS_DATE_FORMAT = 'MONTH-DD-YYYY';

    ADD_MONTHS(x,y)    LAST_DAY(x)    MONTHS_BETWEEN(x, y)    NEXT_DAY(x, day)

    EXTRACT 取出年月日等。。

    EXISTS性能高于IN

    UNION ALL (包括重復的)     UNION (不包括重復的)     類型必須一樣,列數必須一樣,名稱可以不一樣

    INTERSECT   MINUS

    TRANSLATE(x, from_string, to_string)
    DECODE(value, search_value, result, default_value)  => CASE

    SELECT division_id, SUM(salary) FROM employee GROUP BY ROLLUP(division_id) ORDER BY division_id;
    SELECT division_id, SUM(salary) FROM employee GROUP BY ROLLUP(division_id, job_id) ORDER BY division_id;
    任何聚合函數都可以和ROLLUP一起使用

    SELECT division_id, SUM(salary) FROM employee GROUP BY CUBE(division_id, job_id) ORDER BY division_id;

    GROUPING只能在使用ROLLUP或CUBE的查詢時候使用
    SELECT GROUPING(division_id), division_id, SUM(salary) FROM employee GROUP BY ROLLUP(division_id) ORDER BY division_id;

    使用GROUPING SETS子句可以只返回小計記錄

    MERGE INTO products p
    USING product_changes pc ON (
        p.product_id = pc.product_id
    )
    WHEN MATCHED THEN
        UPDATE
        SET
            p.product_type_id = pc.product_type_id,
            p.name = pc.name,
            p.description = pc.description,
            p.price = pc.price
    WHEN NOT MATCHED THEN
        INSERT (
            p.product_id, p.product_type_id, p.name, p.description, p.price
        ) VALUES (
            pc.product_id, pc.product_type_id, pc.name, pc.description, pc.price
        );

    user_tables, user_tab_columns, all_tables, all_tab_columns;

    ALTER TABLE salary_grades
    ADD (average_salary AS ((low_salary + high_salary)/2));

    ALTER TABLE order_status
    DROP COLUMN modified_by;

    ALTER TABLE order_status
    ADD CONSTRAINT order_status_modified_by_fk
    modified_by REFERENCES employee(employee_id) ON DELETE CASCADE;

    ALTER TABLE order_status
    ADD CONSTRAINT order_status_modified_by_fk
    modified_by REFERENCES employee(employee_id) ON DELETE SET NULL;

    ALTER TABLE order_status
    ADD CONSTRAINT order_status_status_ck
    CHECK (status in ('PLACED', 'PENDING', 'SHIPPED'));

    ALTER TABLE order_status
    DISABLE CONSTRAINT order_status_status_ck;

    ALTER TABLE order_status
    ENABLE CONSTRAINT order_status_status_ck;

    ALTER TABLE order_status
    ENABLE NOVALIDATE CONSTRAINT order_status_status_uq;

    SET SERVEROUTPUT ON

    DECLARE
        v_product_id  products.product_id%TYPE;
        v_name           products.name%TYPE;
        v_price           products.price%TYPE;

        CURSOR v_product_cursor IS
            SELECT product_id, name, price
            FROM products
            ORDER BY product_id;
        
        BEGIN
            OPEN v_product_cursor;
            LOOP
                FETCH v_product_cursor INTO v_product_id, name, price;
                EXIT WHEN v_product_cursor%NOTFOUND;
                DBMS_OUTPUT.PUT_LINE(~~)
            END LOOP;
            CLOSE v_product_cursor;
        END;
    /

    SET SERVEROUTPUT ON

    DECLARE
        CURSOR v_product_cursor IS
            SELECT product_id, name, price
            FROM products
            ORDER BY product_id;
        
        BEGIN
            FOR v_product IN v_product_cursor LOOP
                DBMS_OUTPUT.PUT_LINE(v_product.product_id || v_product.name || v_product.price)
            END LOOP;
        END;
    /

    Oracle預定義系統異常類型

    命名的系統異常

    產生原因

    ACCESS_INTO_NULL

    未定義對象

    CASE_NOT_FOUND

    CASE 中若未包含相應的 WHEN ,并且沒有設置 ELSE

    COLLECTION_IS_NULL

    集合元素未初始化

    CURSER_ALREADY_OPEN

    游標已經打開

    DUP_VAL_ON_INDEX

    唯一索引對應的列上有重復的值

    INVALID_CURSOR

    在不合法的游標上進行操作

    INVALID_NUMBER

    內嵌的 SQL 語句不能將字符轉換為數字

    NO_DATA_FOUND

    使用 select into 未返回行,或應用索引表未初始化的元素時

    TOO_MANY_ROWS

    執行 select into 時,結果集超過一行

    ZERO_DIVIDE

    除數為 0

    SUBSCRIPT_BEYOND_COUNT

    元素下標超過嵌套表或 VARRAY 的最大值

    SUBSCRIPT_OUTSIDE_LIMIT

    使用嵌套表或 VARRAY 時,將下標指定為負數

    VALUE_ERROR

    賦值時,變量長度不足以容納實際數據

    LOGIN_DENIED

    PL/SQL 應用程序連接到 oracle 數據庫時,提供了不正確的用戶名或密碼

    NOT_LOGGED_ON

    PL/SQL 應用程序在沒有連接 oralce 數據庫的情況下訪問數據

    PROGRAM_ERROR

    PL/SQL 內部問題,可能需要重裝數據字典& pl./SQL 系統包

    ROWTYPE_MISMATCH

    宿主游標變量與 PL/SQL 游標變量的返回類型不兼容

    SELF_IS_NULL

    使用對象類型時,在 null 對象上調用對象方法

    STORAGE_ERROR

    運行 PL/SQL 時,超出內存空間

    SYS_INVALID_ID

    無效的 ROWID 字符串

    TIMEOUT_ON_RESOURCE

    Oracle 在等待資源時超時


    閱讀中...
    posted on 2009-09-03 20:00 周銳 閱讀(286) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 国产免费MV大全视频网站| 四虎永久免费网站免费观看| 狠狠色婷婷狠狠狠亚洲综合| 亚洲国产精品成人综合色在线| 免费人成在线观看69式小视频| 亚洲最新永久在线观看| 无码一区二区三区免费| 亚洲国产高清视频| 免费国产污网站在线观看15| 久久精品国产亚洲av日韩| 91免费人成网站在线观看18| 亚洲成电影在线观看青青| 免费看黄视频网站| 亚洲午夜在线播放| 免费观看男人免费桶女人视频| 亚洲成在人线aⅴ免费毛片| 国产又大又粗又硬又长免费| 亚洲av日韩综合一区久热| 在线a人片天堂免费观看高清| 亚洲欧美成人一区二区三区| 日本v片免费一区二区三区| 亚洲av无码专区在线观看下载 | 青娱乐在线免费观看视频| 免费在线观看视频a| 国产亚洲日韩在线a不卡| 麻豆最新国产剧情AV原创免费| 亚洲H在线播放在线观看H| 成人午夜18免费看| 小说专区亚洲春色校园| 久久精品国产亚洲AV不卡| 国产免费爽爽视频在线观看 | www.亚洲日本| av无码国产在线看免费网站| 久久久久亚洲AV无码永不| 思思re热免费精品视频66| 亚洲老熟女五十路老熟女bbw| 免费在线观看理论片| 日韩精品无码免费专区网站| 亚洲精品美女久久久久9999| 天天摸夜夜摸成人免费视频| 免费无遮挡无遮羞在线看|