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

正文內(nèi)容

使用數(shù)據(jù)庫觸發(fā)器ppt課件-資料下載頁

2025-05-06 01:14本頁面
  

【正文】 :。 end。 CISSST Oracle 10g數(shù)據(jù)庫管理課程 問題的解決: 關(guān)于變異表的問題討論 create or replace trigger SLimitEmployees after insert or update of deptno on emp declare v_maxEmp constant number:=6。 v_currentEmp number。 v_empno %type。 v_deptno %type。 begin for v_LoopIndex in 1.. loop v_empno:=(v_LoopIndex)。 v_deptno:=(v_LoopIndex)。 select count(*) into v_currentEmp from emp where deptno=v_deptno。 if v_CurrentEmpv_MaxEmp then raise_application_error(20220,‘部門編號為 : ’|| v_deptno||39。 的部門員工數(shù)量超標 39。)。 end if。 end loop。 :=0。 end。 CISSST Oracle 10g數(shù)據(jù)庫管理課程 對問題的再思考? 由于 PL/SQL表是位于包中,所以這些表對于行級觸發(fā)器和語句級觸發(fā)器都是可見的,確保變量的全局性的唯一方法是把要定義的全局變量放在包中。 在上述程序中使用了計數(shù)器變量 ,當(dāng)其所在的包初次創(chuàng)建時,該變量被初始化為 ,該變量的值由行級觸發(fā)器修改,語句級觸發(fā)器對該變量進行引用并在處理結(jié)束后將該變量復(fù)位為 0。這么做是很有必要的,以便本次會話的下一個操作時 UPDATE語句才會具有正確的值。 可以使用數(shù)據(jù)庫表而不使用 PL/SQL表。但是不推薦這種技術(shù),因為發(fā)出UPDATE的同時進行的多個會話之間可能相互干擾。封裝 PL/SQL表在會話中是唯一的,因此它避免了這個問題。 關(guān)于變異表的問題討論 CISSST Oracle 10g數(shù)據(jù)庫管理課程 alter trigger trigger_name disable。 這意味著數(shù)據(jù)庫知道觸發(fā)器存在,但是不會激活它。 alter tirgger trigger_name enable。 激活觸發(fā)器 啟用和禁用觸發(fā)器 CISSST Oracle 10g數(shù)據(jù)庫管理課程 觸發(fā)器可以采用 PL/SQL編寫,但是它不能夠 COMMIT或者ROLLBACK當(dāng)前的事務(wù)處理。 Oracle不允許在觸發(fā)器中進行 COMMIT和 ROLLBACK。由于 DDL語句要進行隱式 COMMIT,所以它們也不允許在觸發(fā)器中使用。 事務(wù)處理和觸發(fā)器 CISSST Oracle 10g數(shù)據(jù)庫管理課程 desc user_tirggers。 select trigger_name from user_triggers where table_name = ‘EMPLOYEES’ and table_owner=‘HR’。 select trigger_type,triggering_event,when_clause,trigger_body from user_triggers where trigger_name = ‘SECURE_EMPLOYEES’。 從數(shù)據(jù)詞典中獲取觸發(fā)器信息 CISSST Oracle 10g數(shù)據(jù)庫管理課程 觸發(fā)器名稱 觸發(fā)器體中不能發(fā)出任何的事務(wù)控制語句,如: mit、 rollback等。同時觸發(fā)器調(diào)用的任何過程或者函數(shù)中不能包含有事務(wù)控制語句。觸發(fā)器體不能聲明任何 LONG或者 LONG RAW類型變量。而且 :new和 :old也不能指向為之定義的表的 LONG或者 LONG RAW類型的列。觸發(fā)器體可以引用和使用 LOB列,但是不能修改該列的值。這個限制也適用于對象列。 觸發(fā)器體 :觸發(fā)器體必須是 PL/SQL語句,可以包含 CALL語句,被調(diào)用的過程可以是 PL/SQL存儲過程,也可以是 C語言或者 JAVA例程的包裝器。 觸發(fā)器的限制 CISSST Oracle 10g數(shù)據(jù)庫管理課程 觸發(fā)器權(quán)限:觸發(fā)器所有者必須對觸發(fā)器所引用的對象具有必要的對象權(quán)限。由于觸發(fā)器是已經(jīng)編譯的對象,因此這些權(quán)限都必須直接授予,不能通過中間角色給予。 與觸發(fā)器相關(guān)的系統(tǒng)權(quán)限 CREATE TRIGGER CREATE ANY TRIGGER ALTER ANY TRIGGER DROP ANY TRIGGER ADMINISTER DATABASE TRIGGER 觸發(fā)器的限制 CISSST Oracle 10g數(shù)據(jù)庫管理課程 觸發(fā)器小結(jié) 觸發(fā)器可以用于很多目的: 它們是一種非常優(yōu)秀地控制用戶表中數(shù)據(jù)輸入和維護的方式,可以讓數(shù)據(jù)建模者確保輸入的數(shù)據(jù)被正確格式化。 它們可以讓我們將業(yè)務(wù)規(guī)則直接與我們的數(shù)據(jù)進行綁定,阻止用戶規(guī)避這些規(guī)則。 它們能夠作為安全特性??梢詫λ鼈冞M行編碼以確保只有特定用戶才能夠修改用戶數(shù)據(jù)。 它們可以幫助我們對我們的數(shù)據(jù)所進行的操作,操作發(fā)生時間,以及在數(shù)據(jù)庫或者特定模式的對象上進行處理的時間進行日志記錄。 它們能夠用于指導(dǎo) Oracle如何控制復(fù)雜的用戶定義數(shù)據(jù)類型。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1