亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫觸發器舉例分析

發布時間:2021-11-08 14:01:41 來源:億速云 閱讀:148 作者:iii 欄目:關系型數據庫

這篇文章主要講解了“數據庫觸發器舉例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據庫觸發器舉例分析”吧!

我們維護一張客戶表,這張表的內容在周六和周日不允許修改。這就是客戶表:

CREATE TABLE plch_customers
(
   custnum    INTEGER
, custname   VARCHAR2 (100)
)

我需要創建一個觸發器來阻止周末對這張表的任何插入、修改和刪除。我寫了這些代碼:

CREATE OR REPLACE TRIGGER plch_customers_maint_trg
   /*TEXT*/
DECLARE
BEGIN
   IF TO_CHAR (SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH')
         IN ('SAT', 'SUN')
   THEN
      RAISE_APPLICATION_ERROR (-20000
          , 'Customers maintained Monday-Friday only.');
   END IF;
END;
/

哪些選項可用來取代文中的/*TEXT*/, 使得這個觸發器不允許周末對plch_customers表執行任何DML操作,并且每個語句只觸發一次?

(A)

BEFORE UPDATE ON plch_customers FOR EACH ROW
BEFORE INSERT ON plch_customers FOR EACH ROW
BEFORE DELETE ON plch_customers FOR EACH ROW
SQL> 
CREATE OR REPLACE TRIGGER plch_customers_maint_trg
BEFORE UPDATE ON plch_customers FOR EACH ROW
BEFORE INSERT ON plch_customers FOR EACH ROW
BEFORE DELETE ON plch_customers FOR EACH ROW
DECLARE
BEGIN
   IF TO_CHAR (SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH')
         IN ('SAT', 'SUN')
   THEN
      RAISE_APPLICATION_ERROR (-20000
          , 'Customers maintained Monday-Friday only.');
   END IF;
END;
ORA-04079: 無效的觸發器說明
SQL>

(B)

BEFORE UPDATE ON plch_customers
BEFORE INSERT ON plch_customers
BEFORE DELETE ON plch_customers
SQL> 
CREATE OR REPLACE TRIGGER plch_customers_maint_trg
BEFORE UPDATE ON plch_customers
BEFORE INSERT ON plch_customers
BEFORE DELETE ON plch_customers
DECLARE
BEGIN
   IF TO_CHAR (SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH')
         IN ('SAT', 'SUN')
   THEN
      RAISE_APPLICATION_ERROR (-20000
          , 'Customers maintained Monday-Friday only.');
   END IF;
END;
ORA-04079: 無效的觸發器說明
SQL>

(C)

BEFORE UPDATE, INSERT OR DELETE ON plch_customers
SQL> 
CREATE OR REPLACE TRIGGER plch_customers_maint_trg
BEFORE UPDATE, INSERT OR DELETE ON plch_customers
DECLARE
BEGIN
   IF TO_CHAR (SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH')
         IN ('SAT', 'SUN')
   THEN
      RAISE_APPLICATION_ERROR (-20000
          , 'Customers maintained Monday-Friday only.');
   END IF;
END;
ORA-00969: 缺失 ON 關鍵字
SQL>

(D)

BEFORE UPDATE OR INSERT OR DELETE ON plch_customers FOR EACH ROW
SQL> 
Trigger created
SQL>

(E)

BEFORE UPDATE OR INSERT OR DELETE ON plch_customers
SQL> 
Trigger created
SQL>

答案E

D不是答案因為每行都會觸發,不滿足條件。

感謝各位的閱讀,以上就是“數據庫觸發器舉例分析”的內容了,經過本文的學習后,相信大家對數據庫觸發器舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀化市| 响水县| 麻栗坡县| 两当县| 黄龙县| 嘉黎县| 秦皇岛市| 定州市| 郓城县| 密山市| 三穗县| 鄂伦春自治旗| 石门县| 津南区| 南昌市| 临夏市| 且末县| 常山县| 普格县| 岗巴县| 温泉县| 故城县| 新民市| 黄石市| 恩施市| 云安县| 汝南县| 始兴县| 常熟市| 北宁市| 鹿泉市| 吉林市| 方城县| 黄浦区| 古丈县| 湘阴县| 湘乡市| 晋州市| 三亚市| 黄大仙区| 温泉县|