日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle数据库触发器删除不,Oracle之后删除触发器

發(fā)布時間:2024/9/27 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle数据库触发器删除不,Oracle之后删除触发器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本Oracle教程解釋了如何在Oracle中創(chuàng)建Before Delete觸發(fā)器的語法和示例。

Before Delete觸發(fā)器表示Oracle將在執(zhí)行刪除操作之前觸發(fā)此觸發(fā)器。

語法

在Oracle / PLSQL中創(chuàng)建Before Delete觸發(fā)器的語法是:

CREATE [ OR REPLACE ] TRIGGER trigger_name

BEFORE DELETE

ON table_name

[ FOR EACH ROW ]

DECLARE

-- variable declarations

BEGIN

-- trigger code

EXCEPTION

WHEN ...

-- exception handling

END;

參數(shù):

OR REPLACE - 可選的。 如果指定,它允許您重新創(chuàng)建已存在的觸發(fā)器,以便可以在不發(fā)出DROP TRIGGER語句的情況下更改觸發(fā)器定義。

trigger_name - 要創(chuàng)建的觸發(fā)器的名稱。

Before Delete - 它表示觸發(fā)器將在執(zhí)行Delete操作之前觸發(fā)。

table_name - 創(chuàng)建觸發(fā)器的表的名稱。

限制

無法在視圖上創(chuàng)建Before觸發(fā)器。

可以更新:NEW值。

無法更新:OLD值。

示例

我們來看看如何使用CREATE TRIGGER語句創(chuàng)建Before Delete觸發(fā)器的示例。

需要先創(chuàng)建下面一個表:

CREATE TABLE orders

( order_id number(5),

quantity number(4),

cost_per_item number(6,2),

total_cost number(8,2)

);

然后使用CREATE TRIGGER語句創(chuàng)建一個Before Delete觸發(fā)器,如下所示:

提示:使用SQLPlus時,需要在觸發(fā)后在新行上輸入斜杠。 否則,腳本將不會執(zhí)行。

CREATE OR REPLACE TRIGGER orders_before_delete

BEFORE DELETE

ON orders

FOR EACH ROW

DECLARE

v_username varchar2(10);

BEGIN

-- Find username of person performing the DELETE on the table

SELECT user INTO v_username

FROM dual;

-- Insert record into audit table

INSERT INTO orders_audit

( order_id,

quantity,

cost_per_item,

total_cost,

delete_date,

deleted_by )

VALUES

( :old.order_id,

:old.quantity,

:old.cost_per_item,

:old.total_cost,

sysdate,

v_username );

END;

/

¥ 我要打賞

糾錯/補充

收藏

加QQ群啦,易百教程官方技術學習群

注意:建議每個人選自己的技術方向加群,同一個QQ最多限加 3 個群。

總結

以上是生活随笔為你收集整理的oracle数据库触发器删除不,Oracle之后删除触发器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。