欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    I 書寫定義sql1.1 DQL語言必須寫into關鍵字查詢語句只能有一條返回值

    異常示例:

    沒有值 ;

    值過多

    1.2 DML(//)

    執行DML語句要處理事務

    &+變量來實現動態傳參

    --執行DML語句
    declare
    begin
    ????--普通DML語句
    ????delete?from?emp?where?empno=&xx;
    ????--事務處理
    ????commit;
    end;

    1.3 DDL(/drop/alter/)

    ('DDL')

    ??declare
    ????v_count?number(3);
    ??begin
    ????select?count(*)?into?v_count?from?user_tables?where?table_name='T_TEST';
    ????if?v_count=1?then
    ????--DDL語句執行時execute?immediate()
    ????execute?immediate('drop?table?t_test');
    ????dbms_output.put_line('drop?table?success');
    ????end?if;
    ????
    ????execute?immediate('
    create?table??t_test(id?number(10),name?varchar2(20))');
    ????dbms_output.put_line('
    create?table?success');
    ??end;

    II 游標()

    sql語句執行時會在內存中開辟一個區域sql數據庫文件類型,用來存放執行的sql語句以及返回的數據,我們把這個內存區域叫做上下文環境();游標就是指向這個上下文環境的指針。

    .sql文件是什么文件_sql數據庫文件類型_pl/sql怎么執行sql文件

    2.1 游標分類2.2 游標的屬性

    % 存儲的是游標執行時所影響的記錄條數

    2.3 操作屬性

    ???declare
    ??????????v_count?binary_integer;
    ???begin
    ??????????update?emp?set?job='baobiao'?where?empno=1111;
    ??????????--操作隱式游標的屬性獲得影響的記錄數
    ??????????v_count?:=?sql%rowcount;
    ??????????commit;
    ??????????
    ??????????dbms_output.put_line(v_count||'?rows?updated');
    ???end;

    2.4 顯示游標創建游標 游標名稱 is 查詢語句開啟游標open 游標名稱獲取數據fetch 游標名稱 into 變量關閉游標close 游標名稱

    ???declare
    ??????????v_name?varchar2(20);
    ??????????v_job?varchar2(20);
    ??????????--定義游標
    ??????????cursor?my_cursor?is?select?ename,job?from?emp;
    ???begin
    ??????????--開啟游標,執行sql語句,將結果存儲在指定內存區域
    ??????????open?my_cursor;
    ??????????
    ??????????loop
    ??????????--獲取數據,給變量賦值
    ??????????fetch?my_cursor?into??v_name,v_job;
    ??????????dbms_output.put_line(v_name||'-----'||v_job);
    ??????????
    ??????????exit?when?my_cursor%notfound;
    ??????????
    ??????????end?loop;
    ??????????--關閉游標
    ??????????close?my_cursor;
    ???end;

    循環游標

    ???--for循環
    ???declare
    ??????????cursor?my_cursor?is?select?*?from?emp;
    ???begin
    ??????????for?v_c?in?my_cursor?loop
    ????dbms_output.put_line(v_c.ename||'---'||v_c.job);
    ??????????end?loop;
    ???end;

    定義游標時傳遞參數

    ???--定義含有參數的游標
    ???declare
    ??????????v_emp_record?emp%rowtype;
    ??????????--定義含有參數的游標
    ??????????cursor?my_cursor(p_id?number)?is?select?*?from?emp?where?empno=p_id;
    ???begin
    ??????????--通過動態方式傳遞參數
    ??????????open?my_cursor(&no);
    ??????????loop
    ??????????fetch?my_cursor?into?v_emp_record;
    ??????????exit?when?my_cursor%notfound;
    ??????????dbms_output.put_line(v_emp_record.ename||v_emp_record.empno);
    ??????????end?loop;
    ??????????close??my_cursor;
    ???end;

    注意:

    .sql文件是什么文件_pl/sql怎么執行sql文件_sql數據庫文件類型

    設置形參時不要寫參數的長度,實參是在開啟游標的時候傳遞。游標不能重復開啟和關閉2.5 定義游標類型的變量

    定義游標類型:type 游標類型名稱 is ref 返回結果類型

    定義游標類型的變量: 變量名稱 游標類型名稱

    declare
    ??????????--定義游標類型
    ??????????type?cursor_type?is??ref?cursor?return?emp%rowtype;
    ??????????--定義游標類型變量
    ??????????my_cursor?cursor_type;
    ??????????my_record?emp%rowtype;
    ???begin
    ??????????--在開啟游標的時候動態綁定sql
    ??????????open?my_cursor?for?select?*?from?emp;
    ??????????loop
    ??????????--循環游標變量,把結果存放在記錄類型的變量中
    ??????????fetch?my_cursor?into?my_record;
    ??????????exit?when?my_cursor%notfound;
    ??????????dbms_output.put_line(my_record.ename||my_record.empno);
    ??????????end?loop;
    ???end;

    III 過程和函數

    IV 觸發器 ()

    類似java中的觸發器由數據庫管理系統負責調用和執行,通過觸發觸發器所監聽的事物來實現觸發器的調用。

    /*表級觸發器*/
    create?or?replace?trigger?table_emp_trigger
    before??delete?or?update?or?insert?on?emp?
    begin
    ???????if?to_char(sysdate,'dy')?in('星期二','星期三')then
    ??????????
    ??????????dbms_standard.raise_application_error(-20000,'u?cant?modify?this?table');
    ???????end?if;
    ?
    end;
    ?
    ?
    /*行級的觸發器*/
    create?or?replace?trigger?update_sal_emp_trigger
    before?update?on?emp?for?each?row
    begin
    ???????--:old.字段??獲取更新之前的舊值
    ???????--:呢w.字段??獲取更新之后的新值
    ???????if?:old.job?not?in('MANAGER','PRESIDENT')?and?:new.sal>10000?then
    ??????????dbms_standard.raise_application_error(-20001,'u?have?too?many?money');
    ???????end?if;
    end;
    ?
    ?
    /*同步my_emp和emp表的插入*/
    ?
    ?
    ?
    create?or?replace?trigger?insert_emp_trigger
    after?insert?on?emp?for?each?row
    begin
    ???????--:old.字段??獲取更新之前的舊值
    ???????--:new.字段??獲取更新之后的新值
    ???????insert?into?my_emp(empno)?values(:new.empno);
    ?????????
    end;
    ?
    update?emp?set?sal=10001?where?empno=7389;
    select?*?from?my_emp;
    drop?trigger?table_emp_trigger;
    insert?into?emp(empno,ename)?values(1119,'xx');
    commit;

    4.1 觸發器的執行順序

    有表級別的觸發器,行級別的觸發器作用于同一個表

    表級別觸發器 行級別觸發器after 行級別觸發器after 表級別觸發器4.2 系統觸發器

    sql數據庫文件類型_pl/sql怎么執行sql文件_.sql文件是什么文件

    DBA用來調試系統on

    注:觸發器不帶參數,沒有放回值,不作事務處理。

    V 預備知識5.1 使用SQL*PLUS登陸遠程數據庫的配置

    DEV?=
    ??(DESCRIPTION?=
    ????(ADDRESS_LIST?=
    ??????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?12.11.11.11)(PORT?=?1521))
    ????)
    ????(CONNECT_DATA?=
    ??????(SERVICE_NAME?=?ios逆向11on11)
    ????)
    ??)

    5.2 建立數據庫

    CREATE?DATABASE?database;

    5.3 建立順序號

    CREATE?SEQUENCE?CINOSEQ?MINVALUE?1?MAXVALUE?4000000000?START?WITH?41?INCREMENT?BY?1?NOCYCLE;

    5.4 創建索引

    CREATE?[?UNIQUE?]?INDEX?index
    ON?table?"("
    ?????column?[?ASC?|?DESC]
    ??[,?column?[?ASC?|?DESC]]...?")"?;

    5.5 修改表

    pl/sql怎么執行sql文件_.sql文件是什么文件_sql數據庫文件類型

    ALTER?TABLE?表名?ADD?字段名?字段名描述???[?DEFAULT?expr?][?NOT?NULL?][?,字段名2?……];

    ALTER?TABLE?表名?MODIFY?字段名1?字段名1描述??[?DEFAULT?expr?][?NOT?NULL?][?,字段名2?……];

    ALTER?TABLE?表名?DROP?字段名;

    ALTER?TABLE?表名?ADD?|?DISABLE?|?ENABLE?CONSTRAINT?約束名?PRIMARY?KEY?(字段名1[,字段名2?……]);
    ALTER?TABLE?表名?ADD?|?DISABLE?|?ENABLE?CONSTRAINT?約束名?UNIQUE?(字段名1[,字段名2?……]);

    ALTER?TABLE?表名?DROP?CONSTRAINTS?約束名?[CASCADE];
    --會把約束相關的索引一起刪除,CASCADE能同時刪去外鍵的約束條件。

    DROP?INDEX?索引名;

    DROP?SEQUENCE?順序名;

    DROP?TABLE?表名?[{CASCADE?|?CASCADE?CONSTRAINTS?|?RESTRICT}]?;

    5.6 查詢

    5.7 插入數據

    使用語句一次只能插入一行數據。

    sql數據庫文件類型_.sql文件是什么文件_pl/sql怎么執行sql文件

    INSERT?INTO?{?table?|?view?}?["("column?[,?column]...")"]{?VALUES?"("?expression[,?expression]...")"?|?subquery?};

    5.8

    在修改表中數據時sql數據庫文件類型,不能破環表的完整性約束。如果修改的數據與完整性約束有沖突,那么這種修改操作不能成功。

    UPDATE?{?table?|?view?}?[?alias?]?SET?column?=?{?expression?|?subquery?}?[,?column?=?{?expr?|?subquery?}]...[WHERE?condition]?;

    5.9

    就像修改數據一樣,刪除數據時也不能破壞數據庫的完整性約束。

    DELETE?FROM?{?table?|?view?}[WHERE?condition]?;

    5.10 事務

    事務是一個邏輯上的單元。要么全部成功,要么全部失敗。在下面的情況下系統自動地結束一個事務:


    COMMIT?[WORK]?;
    ROLLBACK?[{?WORK?|?TO?savepoint_name?}]?;
    SAVEPOINT?savepoint_name?;
    REMOVE?SAVEPOINT?;


    5.11 數據導入和導出導出

    --將數據庫TEST完全導出,用戶名system?密碼manager?導出到`daochu.dmp`中
    exp?system/manager@TEST?file=d:daochu.dmp?full=y
    --將數據庫中的表inner_notify、notify_staff_relat導出
    exp?aichannel/aichannel@TESTDB2?file=?datanewsmgnt.dmp?tables=?(inner_notify,notify_staff_relat)

    導入

    --將`daochu.dmp`?中的數據導入?TEST數據庫中
    imp?system/manager@TEST?file=daochu.dmp
    --將daochu.dmp中的表table1?導入
    imp?system/manager@TEST?file=d:daochu.dmp?tables=(table1)

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有