亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

開發PL/SQL子程序和包及使用PL/SQL編寫觸發器、在JDBC中應用Oracle

2019-11-15 00:54:59
字體:
來源:轉載
供稿:網友
開發PL/SQL子程序和包及使用PL/SQL編寫觸發器、在JDBC中應用Oracle

1. 子程序的各個部分:

聲明部分、可執行部分、異常處理部分(可選)

2.子程序的分類:

A. 過程 - 執行某些操作

a. 創建過程的語法:

CREATE [OR REPLACE] PROCEDURE <procedure name> [(<parameter list>)] IS|AS

<local variable declaration>

BEGIN

<executable statements>

[EXCEPTION

<exception handlers>]

END;

b. 過程參數的三種模式:

IN:用于接受調用程序的值、默認的參數模式

OUT:用于向調用程序返回值

IN OUT:用于接受調用程序的值,并向調用程序返回更新的值

c. 將過程的執行權限授予其他用戶:

SQL> GRANT EXECUTE ON find_emp TO MARTIN;

SQL> GRANT EXECUTE ON swap TO PUBLIC;

d. 刪除過程:SQL> DROP PROCEDURE find_emp;

B. 函數 - 執行操作并返回值

a. 創建函數的語法:

CREATE [OR REPLACE] FUNCTION <function name> [(param1,param2)] RETURN <datatype> IS|AS [local declarations]

BEGIN

Executable Statements;

RETURN result;

EXCEPTION

Exception handlers;

END;

b. 定義函數的限制:

函數只能接受 IN 參數,而不能接受 IN OUT 或 OUT 參數

形參不能是 PL/SQL 類型

函數的返回類型也必須是數據庫類型

c.訪問函數的兩種方式:使用 PL/SQL 塊、使用 SQL 語句

3. 子程序的優點:

模塊化、可重用性、可維護性、安全性

4. 程序包:

是對相關過程、函數、變量、游標和異常等對象的封裝

A. 程序包由規范和主體兩部分組成

a.規范:聲明程序包中公共對象。包括類型、變量、常量、異常、游標規范和子程序規范等

b.主體:聲明程序包私有對象和實現在包規范中聲明的子程序和游標

B . 創建程序包

a. 程序包規范

CREATE [OR REPLACE] PACKAGE package_name IS|AS

[Public item declarations] [Subprogram specification]

END [package_name];

b. 程序包主體

CREATE [OR REPLACE] PACKAGE BODY package_name IS|AS

[Private item declarations]

[Subprogram bodies]

[BEGIN Initialization]

END [package_name];

5. 程序包的優點

a. 模塊化

b. 更輕松的應用程序設計

c. 信息隱藏

d. 新增功能

e. 性能更佳

6. 程序包中的游標

A. 游標的定義分為游標規范和游標主體兩部分

B. 在包規范中聲明游標規范時必須使用 RETURN 子句指定游標的返回類型

RETURN子句指定的數據類型可以是:

a. 用 %ROWTYPE 屬性引用表定義的記錄類型

b. 程序員定義的記錄類型

7. 有關子程序和程序包的信息

A. USER_OBJECTS 視圖包含用戶創建的子程序和程序包的信息

SELECT object_name, object_type FROM USER_OBJECTS WHERE object_type IN ('PROCEDURE', 'FUNCTION', 'PACKAGE', 'PACKAGE BODY');

B. USER_SOURCE 視圖存儲子程序和程序包的源代碼

SELECT line, text FROM USER_SOURCE WHERE NAME='TEST';

8. 觸發器:

是當特定事件出現時自動執行的存儲過程(特定事件可以是執行更新的DML語句和DDL語句)

注意:觸發器不能被顯式調用

9. 觸發器的功能:

自動生成數據、自定義復雜的安全權限、提供審計和日志記錄、啟用復雜的業務邏輯

10. 創建觸發器的語法

CREATE [OR REPLACE] TRIGGER trigger_name AFTER | BEFORE | INSTEAD OF [INSERT] [[OR] UPDATE [OF column_list]] [[OR] DELETE] ON table_or_view_name

[REFERENCING {OLD [AS] old / NEW [AS] new}] [FOR EACH ROW]

[WHEN (condition)] pl/sql_block;

11. DML觸發器的相關概念

A. BEFORE觸發器:是在某種操作發生之前執行的觸發器

B. AFTER觸發器:是在某種操作發生之后執行的觸發器

C. 語句級觸發器:無論受影響的行數是多少,都只執行一次

D. 行級觸發器:對DML語句修改的每個行執行一次

E. NEW偽記錄:只在UPDATE和INSERT DML觸發器內可用,它包含了修改發生后被 影響的行的值

F. OLD偽記錄:只在UPDATE和DELETE DML觸發器內可用,它包含了修改發生前被 影響的行的值

G. WHEN子句:某段代碼是否被執行

12.觸發器由三部分組成:

A. 觸發器語句(事件):定義激活觸發器的 DML 事件和 DDL 事件

B. 觸發器限制:執行觸發器的條件,該條件必須為真才能激活觸發器

C. 觸發器操作(主體):包含一些 SQL 語句和代碼,它們在發出了觸發器語句且觸發限制的值為真時運行

13. DML觸發器:

當表發生數據修改事件(增加、刪除、修改)自動執行的PL/SQL 塊

語法:

CREATE OR REPLACE TRIGGER 觸發器名稱{AFTER|BEFORE } --指定觸發時機{INSERT|DELETE|UPDATE}--指定觸發事件類型ON 表名--指定所監控的表{FOR EACH ROW} --指定觸發次數

------上面:執行條件--------------下面:執行代碼----------------declare

BEGIN 代碼;END;

14. 條件謂詞

INSERTING、UPDATING、DELETING

15. 觸發器應用

使用場合:控制數據安全、實現數據審計、實現數據完整性、實現參照完整性

16. INSTEAD OF觸發器(替代觸發器)

17.系統事件觸發器

18.管理觸發器

A. 啟用和禁用觸發器:何時禁止:數據導入導出時禁止

SQL> ALTER TRIGGER aiu_itemfile DISABLE;

SQL> ALTER TRIGGER aiu_itemfile ENABLE;

B. 重新編譯觸發器:數據庫對象發生改變后

C. 刪除觸發器

SQL> DROP TRIGGER aiu_itemfile;

19. 觸發器和存儲過程

觸發器 存儲過程

編寫 無參數,返回值 有參數,有返回值(參數)

編寫 不能commit或rollback 能

調用方式 事件發生時自動調用 手工調用

操作對象 基于某張表 與表無關

20.JDBC連接Oracle數據庫

Class.forName(“oracle.jdbc.driver.OracleDriver”);

Connection con = null;

con = DriverManager.getConnection(jdbc:oracle:thin:@localhost:1521:數據庫實例);

21. 在JDBC中執行PL/SQL匿名塊

A.步驟:

a. 明確PreparedStatement執行匿名塊的字符串

b. 創建PreparedStatemen對象

c. 根據需要設定綁定變量

d. 執行PreparedStatement對象

22. 在JDBC中執行PL/SQL的存儲過程

A. 語法:

a. {call 過程名[(?,?,?....)]} //訪問帶參數的存儲過程

b. {? = cal 過程名[(?,?,?.......)]} //訪問返回結果參數的存儲過程

c. {call 過程名} //訪問不帶參數的存儲過程

B.步驟:

a. 明確CallableStatement調用字符串

b. 創建CallableStatement對象( CallableStatement = Connection.prepareCall(sql);)

c. 綁定輸入(IN)參數

d. 注冊輸出(OUT)參數(CallableStatement .registerOutParameter(索引, OracleTypes.數據類型))

e. 執行CallableStatement對象返回結果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品乱码久久久久久按摩观| 九九久久久久久久久激情| 精品一区二区亚洲| 亚洲日韩欧美视频| 操日韩av在线电影| 亚洲福利视频免费观看| 欧美成人剧情片在线观看| 国产精品久久久久免费a∨| 欧美一级大片在线免费观看| 色综合久久中文字幕综合网小说| 久久精品视频在线播放| 成人免费福利在线| 国产精品永久免费观看| 亚洲色图综合久久| 亚洲aa在线观看| 精品国产欧美成人夜夜嗨| 欧美日韩激情视频8区| 97精品视频在线| 国产一区红桃视频| 中文字幕欧美日韩va免费视频| 国产一区二区三区中文| 精品久久香蕉国产线看观看亚洲| 亚洲国产99精品国自产| 国产999精品久久久| 欧美在线精品免播放器视频| 日韩网站免费观看| 国产999精品久久久影片官网| 丝袜亚洲另类欧美重口| 欧美激情视频给我| 97色在线观看免费视频| 疯狂蹂躏欧美一区二区精品| 午夜精品久久久99热福利| 91性高湖久久久久久久久_久久99| 在线播放日韩精品| 国语自产精品视频在免费| 久久九九亚洲综合| 亚洲欧美成人一区二区在线电影| 欧美一级bbbbb性bbbb喷潮片| 亚洲美女动态图120秒| 日本在线精品视频| 精品国产区一区二区三区在线观看| 日韩第一页在线| 91国语精品自产拍在线观看性色| 欧美电影电视剧在线观看| 91久久久久久久一区二区| 亚洲黄色av女优在线观看| 日韩欧美aⅴ综合网站发布| 亚洲激情中文字幕| 97国产精品久久| 红桃视频成人在线观看| 欧美激情一区二区三区高清视频| 2023亚洲男人天堂| 国产精品久久久久久久久久久新郎| 欧美国产精品va在线观看| 91精品视频一区| 亚洲专区中文字幕| 激情成人中文字幕| 日本一区二区三区在线播放| 欧美激情免费看| 国产a∨精品一区二区三区不卡| 亚洲成人中文字幕| 亚洲人成网在线播放| 日韩最新在线视频| 日韩一区二区福利| 久久精品99久久香蕉国产色戒| 欧美一区第一页| 91av视频在线| 欧美极品美女电影一区| 欧美性xxxx极品高清hd直播| 日韩美女在线看| 欧美高清视频免费观看| 乱亲女秽乱长久久久| 日韩高清有码在线| 欧美电影在线观看| 亚洲精品99久久久久| 欧美高清理论片| 性金发美女69hd大尺寸| 中文字幕av日韩| 国产精品视频久久| 久久久97精品| 亚洲图片在区色| 成人一区二区电影| 国产精品99久久久久久久久| 91高清视频在线免费观看| 亚洲自拍偷拍色图| 国产一区二区三区丝袜| www.日韩视频| 中文字幕av一区| 日本精品视频在线| 亚洲乱码国产乱码精品精天堂| 欧美在线欧美在线| 黑人巨大精品欧美一区免费视频| 蜜臀久久99精品久久久久久宅男| 欧美洲成人男女午夜视频| 国产精品福利久久久| 亚洲a∨日韩av高清在线观看| 亚洲精品资源美女情侣酒店| 欧美激情视频播放| 欧美人在线视频| 成人字幕网zmw| 欧美成人中文字幕| 在线观看国产欧美| 亚洲欧美在线免费| 亚洲少妇中文在线| 欧美国产欧美亚洲国产日韩mv天天看完整| 精品久久久久久久久久国产| 91久久精品久久国产性色也91| 亚洲影影院av| 久久久久久国产精品美女| 日韩精品福利网站| 久久精品国产清自在天天线| 日本午夜精品理论片a级appf发布| 欧美激情啊啊啊| 国产伦精品一区二区三区精品视频| 欧美精品在线第一页| 色偷偷9999www| 国产日韩在线亚洲字幕中文| 中文日韩在线视频| 国产精品网红福利| 亚洲激情免费观看| 亚洲已满18点击进入在线看片| 92看片淫黄大片看国产片| 国产精品一区二区女厕厕| 亚洲国产私拍精品国模在线观看| 亚洲娇小xxxx欧美娇小| 国产精品入口免费视频一| 日韩av网站导航| 国产剧情久久久久久| 欧美成人小视频| 精品福利在线看| 日韩av手机在线看| 亚洲精品v欧美精品v日韩精品| 亚洲激情电影中文字幕| 欧洲午夜精品久久久| 中文字幕国内精品| 日韩女优在线播放| 在线观看国产欧美| 韩国日本不卡在线| 欧美国产高跟鞋裸体秀xxxhd| 国外成人在线播放| 国产精品久久久久福利| 欧美激情xxxx性bbbb| 日韩av一区二区在线观看| 成人高清视频观看www| 久久人人爽亚洲精品天堂| 欧美激情精品久久久久久久变态| www日韩欧美| 亚洲丁香久久久| 日韩精品视频中文在线观看| 久久99久久亚洲国产| 久久久久久久国产精品| 亚洲国产成人av在线| 日韩最新在线视频| 精品久久久久久国产91| 俺也去精品视频在线观看| 久久九九精品99国产精品| 欧美激情精品久久久久久蜜臀| 亚洲在线观看视频| 91九色蝌蚪国产| 日韩男女性生活视频| 亚洲成人激情视频| 国产视频精品免费播放| 欧美电影免费观看高清| 国产精品一区二区三区久久久|