在 Oracle 中建立觸發器

發布 科技 2024-04-28
14個回答
  1. 匿名使用者2024-02-08

    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寫錯了。

  2. 匿名使用者2024-02-07

    你甚至不需要觸發器。

    西格里是使用者,對吧?

    如果其他使用者想要更改,未經授權不能直接修改,使用觸發器有那麼麻煩嗎?

    而使用者是**的使用者?

    if user not in('sgl'這樣寫肯定是不行的。

    並且觸發器可以提高應用誤差(-20001,'您無權修改此表');是嗎? 我想我從來沒有用過這樣的東西。

  3. 匿名使用者2024-02-06

    以上,希望對您有所幫助。

  4. 匿名使用者2024-02-05

    觸發器是一種特殊的儲存過程 下面是觸發器的詳細說明。

    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

  5. 匿名使用者2024-02-04

    。觸發器的定義意味著當條件建立時,觸發器中定義的語句將自動執行。 因此,觸發器不需要被人類呼叫,也無法呼叫。

    然後,在定義觸發條件時,實際上設定了觸發條件。 這裡需要注意的是,觸發器可以分為語句級觸發器和行級觸發器。 詳細介紹可以參考網上的資訊,簡單來說就是在某些語句執行之前或之後可以觸發句子級觸發器。

    當定義的觸發表中的行資料發生變化時,行級觸發器將觸發一次。

    具體例子:1當刪除表中定義的語句級觸發器時,程式會自動執行觸發器中定義的操作流程。 這是刪除表的操作,這是觸發器被執行的條件。

    2.如果在表中定義了行級觸發器,則當表中的一行資料發生變化時,例如刪除一行記錄,將自動執行該觸發器。

    我想知道這是否清楚?

  6. 匿名使用者2024-02-03

    觸發器的作用是專注於觸發單詞,一件事觸發另一件事。

  7. 匿名使用者2024-02-02

    觸發器預言機可以在 DML 語句中、DML 操作之前或之後以及每行或語句操作中觸發。

    2 .覆蓋觸發器。

    在 Oracle 中,無法直接操作從兩個以上的表建立的檢視。 因此,給出了替代觸發器。 這是 Oracle 8 處理檢視操作的一種方式。

    3.系統觸發器。

    Oracle 8i 提供了第三種型別的觸發器,稱為系統觸發器。 它可以在 Oracle 資料庫系統中的事件期間觸發,例如 Oracle 系統的啟動和關閉。

  8. 匿名使用者2024-02-01

    DML 觸發器進一步分為行級(每行)和語句級,而不是觸發器,而不是

    系統觸發器(也稱為資料庫級觸發器)由使用者事件(如啟動和關閉)觸發,例如登入和登出

  9. 匿名使用者2024-01-31

    表觸發器:

    有 2 種觸發狀態(行級、物件級)、2 種觸發時間(之前、之後)和 7 種組合(插入、更新和刪除)。

    觸發型別 = 2*2*7 = 28。

    還有乙個檢視觸發器,而不是 28+1=29

  10. 匿名使用者2024-01-30

    從廣義上講,應該是以下三個。

    1.系統觸發器。

    開啟或關閉資料庫時觸發。

    2. 表級觸發器。

    3. 替代觸發器。

    也就是說,觸發檢視的級別。

  11. 匿名使用者2024-01-29

    觸發條件:插入、更新和刪除

    觸發時機:之前、之後

    適用範圍:行級、表級。

  12. 匿名使用者2024-01-28

    Oracle 中有 5 種型別的觸發器:

    1、行級觸發器:當DML語句對每一行資料進行操作時,觸發器會執行;

    2、語句級觸發:無論乙個DML語句影響了多少行資料,由它引起的觸發都只執行一次;

    3.替換觸發器:觸發器是在檢視上定義的,而不是在表上定義的,用於替換實際使用的語句的觸發器;

    4、使用者事件觸發:指與DDL操作或使用者登入、退出資料庫等事件相關的觸發。 例如,使用者登入資料庫或使用 alter 語句修改表結構。

    5、系統事件觸發:指在預言機資料庫系統事件中觸發的觸發器,如預言機例項的啟動和關閉。

  13. 匿名使用者2024-01-27

    觸發。

    Oracle 可以在 DML 操作之前或之後觸發 DML 語句,也可以按行或每條語句觸發。

    覆蓋觸發器。

    在 Oracle 中,無法直接操作從兩個以上的表建立的檢視。 因此,給出了替代觸發器。 這就是甲骨文

    8.專為檢視操作而設計的處理方法。

    系統觸發器。

    oracle

    8i 提供了第三種型別的觸發器,稱為系統觸發器。 它可以在 Oracle 資料庫系統中的事件期間觸發,例如 Oracle 系統的啟動和關閉。

  14. 匿名使用者2024-01-26

    有三種型別:1

    DML 觸發器 2

    備用觸發器 3

    系統觸發器。

相關回答
10個回答2024-04-28

select top(1)* from table_name order by update_time desc

我的想法是按照修改時間的降序找到第一名的結果,不是嗎? >>>More

4個回答2024-04-28

具體步驟如下:

1. 首先建立乙個觸發器,需要在可新增表上建立乙個更新觸發器,如下圖所示,然後進入下一步。 >>>More

11個回答2024-04-28

在觸發器的已刪除表中,將儲存已刪除的行。 只需將其取出並插入另一張桌子即可。 >>>More

13個回答2024-04-28

對於 sqlserver,您可以編寫乙個基於資料庫的觸發器,您可以在其中獲取要對其執行操作的表的名稱,並且 sqlserver 禁止使用者刪除指定的表。 >>>More

14個回答2024-04-28

EventTrigger 的操作不是操作,操作可以支援多個操作 >>>More