freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機軟件及應(yīng)用]099第12章應(yīng)用程序結(jié)構(gòu)-資料下載頁

2025-01-15 06:54本頁面
  

【正文】 有字段為 N U L L 注意 :old標識符對 INSERT語句未定義,而 :new標識符對 DELETE語句未定義。 PL/SQL編譯器不會對在 INSERT語句中使用的 :old和在DELETE語句中使用的 :new標識符報錯,編譯的結(jié)果將使這兩者的字段值為 NULL。 69 觸發(fā)器例子 Create or replace trigger score_change after update of score on grade For each row Begin insert into table_score_change values(:,:,:,:,sysdate)。 End。 70 WHEN子句 ? WHEN子句只適用于行級別觸發(fā)器。 ? 如果使用該子句,觸發(fā)器體將只對滿足由 WHEN子句指定條件的行而執(zhí)行。 語法: WHEN trigger_condition 71 觸發(fā)器謂詞 表達式謂詞 狀態(tài) I N S E R T I N G 如果觸發(fā)語句是 I N S E R T 的話,則為真值( T R U E ),否則為 F A L S E U P D A T I N G 如果觸發(fā)語句是 U P D A T E 的話,則為真值( T R U E ),否則為 F A L S E D E L E T I N G 如果觸發(fā)語句是 D E L E T E 的話,則為真值( T R U E ),否則為 F A L S E 72 創(chuàng)建 insteadof觸發(fā)器 insteadof觸發(fā)器用于以下兩種情況: ? 允許修改一個本來無法修改的視圖。 ? 修改視圖中嵌套表列的列。 73 可更改的與不可更改的視圖 可更改視圖 :可以發(fā)出 DML命令的視圖。 一般來說,視圖如果不包括下列命令中的任何一項,它就是一個可更改視圖 。 ? 集合操作符( UNION、 UNION ALL、 MINUS) ? 聚集函數(shù)( SUM、 AVG等) ? GROUP BY、 CONNECT BY或 START WITH子句 ? DISTINCT操作符 ? 連接 74 insteadof觸發(fā)器 ? 如果一個視圖是不可更改的,則可以在其上編寫一個 insteadof觸發(fā)器來執(zhí)行正確的操作,從而使該視圖可更改。 ? 如果需要進行其他處理的話,也可以在可更改視圖上編寫 insteadof觸發(fā)器。 75 創(chuàng)建系統(tǒng)觸發(fā)器 ? 系統(tǒng)觸發(fā)器可以在兩種不同種類的事件(即 DDL或數(shù)據(jù)庫)上激發(fā)。 ? DDL事件包括 CREATE、 ALTER或 DROP語句。 ? 而數(shù)據(jù)庫事件包括服務(wù)器的啟動或關(guān)閉,用戶的登錄或退出,以及服務(wù)器錯誤。 語法: CREATE [OR REPLACE] TRIGGER [ schema.] trigger_name {BEFORE | AFTER} {ddl_event_list| database_event_list} ON {DATABASE | [ schema.]SCHEMA} [when_clause] trigger_body。 76 系統(tǒng) DLL和數(shù)據(jù)庫事件 事件 允許時機 說明 啟動 之后 實例啟動時激發(fā) 關(guān)閉 之前 實例關(guān)閉時激 發(fā)。如果數(shù)據(jù)庫異常關(guān)閉(如關(guān)閉異常中止),則該事件也許不會激發(fā) 服務(wù)器錯誤 之后 只要錯誤發(fā)生就激發(fā) 登錄 之后 在用戶成功連接數(shù)據(jù)庫后激發(fā) 注銷 之前 在用戶注銷開始時激發(fā) 創(chuàng)建 之前,之后 在創(chuàng)建模式對象之前或之后激發(fā) 刪除 之前,之后 在撤消模式對象之前或之后激發(fā) 更改 之前,之后 在更改模式對象之前或之后激發(fā) 77 其他觸發(fā)器問題 ? 觸發(fā)器名稱的命名空間( Namespace) ? 使用觸發(fā)器的各種限制和不同種類的觸發(fā)器體。 ? 與觸發(fā)器有關(guān)的權(quán)限問題 78 觸發(fā)器名稱 ? 命名空間:是一組合法的可供對象作為名字使用的標識符。過程、包和表都共享同一個命名空間,在一個數(shù)據(jù)庫模式范圍內(nèi),同一命名空間內(nèi)的所有的對象必須具有唯一的名稱。 ? 觸發(fā)器隸屬于一個獨立的命名空間。也就是說,觸發(fā)器可以有與表和過程相同的名稱。然而,在一個模式范圍內(nèi),給定的名稱只能用于一個觸發(fā)器。 79 對觸發(fā)器的限制 ? 觸發(fā)器不能發(fā)出任何事務(wù)控制語句,如 COMMIT、ROLLBACK、 SAVEPOINT或 SET TRANSACTION。 ? 由觸發(fā)器體調(diào)用的任何過程或函數(shù)都不能發(fā)出任何事務(wù)控制語句(除非在 Oracle8i及更高版本中把它們聲明為自治的)。 ? 觸發(fā)器體不能聲明任何 LONG或 LONG RAW變量。而且, :new和 :old也不能指向為之定義的表的 LONG或LONG RAW類型的列。 ? 在 Oracle8及更高版本中,觸發(fā)器體中的代碼可以引用和使用 LOB(大型對象)列,但不能修改該列的值。這個限制也適用于對象列。 80 觸發(fā)器權(quán)限 系統(tǒng)權(quán)限 說明 CREA T E T RI GG ER 允許被授權(quán)人在他自己的模式中創(chuàng)建觸發(fā)器 CREA T E A N Y T RI G G ER 允許被授權(quán)人在任何除 S YS 之外的模式中創(chuàng)建觸發(fā)器。不推薦在數(shù)據(jù)字典表中創(chuàng)建觸發(fā)器 AL T ER A NY T RI GG ER 允許被授權(quán)人在任何除 S YS 之外的模式中啟用、禁用或編譯數(shù)據(jù)庫觸發(fā)器。請注意,如 果被授權(quán)人沒有 G RE A T E AN Y T RI GG ER 權(quán)限,用戶不能改變發(fā)觸發(fā)器的代碼 DRO P A NY T RI GG ER 允許被授權(quán)人在刪除任何除 S YS 之外的模式中的數(shù)據(jù)庫觸發(fā)器。 A DMINIS T ER DA T A B A S E T RI GG ER 允許被授權(quán)人在數(shù)據(jù)庫(而不是當前模式)上創(chuàng)建或改變系統(tǒng)觸發(fā)器。被授權(quán) 人也必須具有 CREA T E T RI GG ER 或 CRE A T E A N Y T RI GG ER 81 本章小結(jié) 1. 數(shù)據(jù)庫觸發(fā)器是根據(jù)一個事件執(zhí)行的 PL/SQL語句塊。數(shù)據(jù)庫觸發(fā)器有三種類型: DML觸發(fā)器、 insteadof觸發(fā)器和系統(tǒng)觸發(fā)器。 2. CREATE TRIGGER語句包括執(zhí)行時間選項(之前或之后),并且可以標識為行級別和語句級別。 3. 行級別觸發(fā)器對于 DML事件影響的每一行激發(fā)。語句級別觸發(fā)器只對 DML事件觸發(fā)一次,而不管 DML影響了多少行。 4. CREATE TRIGGER語句包括一個可選的 WHEN子句,它可以檢查一個條件,決定是否應(yīng)該執(zhí)行觸發(fā)器。 5. 相關(guān)性標識符 :OLD和 :NEW允許引用 DML操作的原始行值和新行值。 6. 觸發(fā)器謂詞 INSERTING、 UPDATING和 DELETING允許在一個觸發(fā)器中對于不同事件執(zhí)行不同的 PL/SQL代碼。 82 本章小結(jié) 7. Insteadof觸發(fā)器基于一個視圖,并允許通過視圖執(zhí)行DML操作。 8. 系統(tǒng)觸發(fā)器是在 DDL語句和系統(tǒng)事件上觸發(fā)的。 9. 如果 DML語句觸發(fā)了一個觸發(fā)器,并且這個觸發(fā)器嘗試引用該 DML事件所處理的那個表,則將引發(fā)一個錯誤。 TRIGGER語句允許編譯器禁用或啟用觸發(fā)器。 ,可以使用 DROP TRIGGER語句。 明信息以及源代碼。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1