-
create or replace trigger biud_scroe_a
before insert or update or deleteon scroe
beginif user not in ('sgl') thenraise_application_error(-20001, '您無權修改此表');
end if;
end;Erroe寫錯了。
-
你甚至不需要觸發器。
西格里是使用者,對吧?
如果其他使用者想要更改,未經授權不能直接修改,使用觸發器有那麼麻煩嗎?
而使用者是**的使用者?
if user not in('sgl'這樣寫肯定是不行的。
並且觸發器可以提高應用誤差(-20001,'您無權修改此表');是嗎? 我想我從來沒有用過這樣的東西。
-
以上,希望對您有所幫助。
-
觸發器是一種特殊的儲存過程 下面是觸發器的詳細說明。
Oracle 觸發器。
oracle 生成資料庫觸發器的語法如下:
create [or replace] trigger 觸發器名稱 觸發時間 觸發事件。
在表名稱上。
for each row]
PL SQL 語句。
其中 Trigger Name 觸發器物件的名稱只是乙個名稱,沒有實際用途,因為觸發器是由資料庫自動執行的。
觸發時間指示觸發器何時執行,並且該值是可取的。
before 表示觸發器在資料庫操作之前執行。
After 表示離開者在資料庫操作之後執行。
觸發事件 指示哪些資料庫操作觸發此觸發器。
insert database insert 觸發此觸發器。
更新資料庫修改會觸發此觸發器。
此觸發器由刪除資料庫觸發。
表名 資料庫觸發器所在的表。
對於每行,觸發器對錶的每一行執行一次,如果此選項不可用,則僅對整個表執行一次。
示例:在更新表身份驗證之前觸發以下觸發器,以便不允許在週末修改表。
create trigger auth_secure
在插入或更新或刪除檔案之前:在整個表更新之前觸發。
on auths
beginif(to_char(sysdate dy )=sun
該引數為字串,如果大小超過 k,系統會自動截斷。
end if;
lishixinzhi/article/program/oracle/201311/17609
-
。觸發器的定義意味著當條件建立時,觸發器中定義的語句將自動執行。 因此,觸發器不需要被人類呼叫,也無法呼叫。
然後,在定義觸發條件時,實際上設定了觸發條件。 這裡需要注意的是,觸發器可以分為語句級觸發器和行級觸發器。 詳細介紹可以參考網上的資訊,簡單來說就是在某些語句執行之前或之後可以觸發句子級觸發器。
當定義的觸發表中的行資料發生變化時,行級觸發器將觸發一次。
具體例子:1當刪除表中定義的語句級觸發器時,程式會自動執行觸發器中定義的操作流程。 這是刪除表的操作,這是觸發器被執行的條件。
2.如果在表中定義了行級觸發器,則當表中的一行資料發生變化時,例如刪除一行記錄,將自動執行該觸發器。
我想知道這是否清楚?
-
觸發器的作用是專注於觸發單詞,一件事觸發另一件事。
-
觸發器預言機可以在 DML 語句中、DML 操作之前或之後以及每行或語句操作中觸發。
2 .覆蓋觸發器。
在 Oracle 中,無法直接操作從兩個以上的表建立的檢視。 因此,給出了替代觸發器。 這是 Oracle 8 處理檢視操作的一種方式。
3.系統觸發器。
Oracle 8i 提供了第三種型別的觸發器,稱為系統觸發器。 它可以在 Oracle 資料庫系統中的事件期間觸發,例如 Oracle 系統的啟動和關閉。
-
DML 觸發器進一步分為行級(每行)和語句級,而不是觸發器,而不是
系統觸發器(也稱為資料庫級觸發器)由使用者事件(如啟動和關閉)觸發,例如登入和登出
-
表觸發器:
有 2 種觸發狀態(行級、物件級)、2 種觸發時間(之前、之後)和 7 種組合(插入、更新和刪除)。
觸發型別 = 2*2*7 = 28。
還有乙個檢視觸發器,而不是 28+1=29
-
從廣義上講,應該是以下三個。
1.系統觸發器。
開啟或關閉資料庫時觸發。
2. 表級觸發器。
3. 替代觸發器。
也就是說,觸發檢視的級別。
-
觸發條件:插入、更新和刪除
觸發時機:之前、之後
適用範圍:行級、表級。
-
Oracle 中有 5 種型別的觸發器:
1、行級觸發器:當DML語句對每一行資料進行操作時,觸發器會執行;
2、語句級觸發:無論乙個DML語句影響了多少行資料,由它引起的觸發都只執行一次;
3.替換觸發器:觸發器是在檢視上定義的,而不是在表上定義的,用於替換實際使用的語句的觸發器;
4、使用者事件觸發:指與DDL操作或使用者登入、退出資料庫等事件相關的觸發。 例如,使用者登入資料庫或使用 alter 語句修改表結構。
5、系統事件觸發:指在預言機資料庫系統事件中觸發的觸發器,如預言機例項的啟動和關閉。
-
觸發。
Oracle 可以在 DML 操作之前或之後觸發 DML 語句,也可以按行或每條語句觸發。
覆蓋觸發器。
在 Oracle 中,無法直接操作從兩個以上的表建立的檢視。 因此,給出了替代觸發器。 這就是甲骨文
8.專為檢視操作而設計的處理方法。
系統觸發器。
oracle
8i 提供了第三種型別的觸發器,稱為系統觸發器。 它可以在 Oracle 資料庫系統中的事件期間觸發,例如 Oracle 系統的啟動和關閉。
-
有三種型別:1
DML 觸發器 2
備用觸發器 3
系統觸發器。
select top(1)* from table_name order by update_time desc
我的想法是按照修改時間的降序找到第一名的結果,不是嗎? >>>More
對於 sqlserver,您可以編寫乙個基於資料庫的觸發器,您可以在其中獲取要對其執行操作的表的名稱,並且 sqlserver 禁止使用者刪除指定的表。 >>>More