oracle数据库触发器删除不,Oracle之后删除触发器
本Oracle教程解释了如何在Oracle中创建Before Delete触发器的语法和示例。
Before Delete触发器表示Oracle将在执行删除操作之前触发此触发器。
语法
在Oracle / PLSQL中创建Before Delete触发器的语法是:
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;
参数:
OR REPLACE - 可选的。 如果指定,它允许您重新创建已存在的触发器,以便可以在不发出DROP TRIGGER语句的情况下更改触发器定义。
trigger_name - 要创建的触发器的名称。
Before Delete - 它表示触发器将在执行Delete操作之前触发。
table_name - 创建触发器的表的名称。
限制
无法在视图上创建Before触发器。
可以更新:NEW值。
无法更新:OLD值。
示例
我们来看看如何使用CREATE TRIGGER语句创建Before Delete触发器的示例。
需要先创建下面一个表:
CREATE TABLE orders
( order_id number(5),
quantity number(4),
cost_per_item number(6,2),
total_cost number(8,2)
);
然后使用CREATE TRIGGER语句创建一个Before Delete触发器,如下所示:
提示:使用SQLPlus时,需要在触发后在新行上输入斜杠。 否则,脚本将不会执行。
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之后删除触发器相关推荐
- Oracle数据库:创建、修改、删除、使用同义词synonym和索引index
Oracle数据库:创建.修改.删除.使用同义词synonym和索引index 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得 ...
- oracle数据库存储结构语句,oracle之物理数据库结构描述
oracle之物理数据库结构概述 oracle的物理结构其实是由各种各样的文件组成的, 其中与数据库相关的有: 数据文件(data file):这些文件是数据库的主要文件:其中包括数据表.索引和所有其 ...
- oracle 数据库问题,ORACLE数据库常见问题汇总,oracle常见问题汇总
ORACLE数据库常见问题汇总,oracle常见问题汇总 提交事务的时候提示(数据库被一个用户锁住的解决方法) select object_id,session_id,locked_mode from ...
- oracle数据库模糊搜索表名,Oracle基本概念和介绍
Oracle基本概念 Oracle Database的基本概念 一个Oracle服务器 是一个数据管理系统,它提供开放的,全面的,近乎完整的信息管理 Oracle服务器有两大部分组成 一个Oracle ...
- oracle数据库初始化失败怎么办,oracle数据库正常停止
利用dbstart和dbshut脚本自动启动和停止数据库的问题 客户的两台IBM Power 740小型机使用HACMP软件创建互备关系的数据库服务器,每台小型机运行一个数据库,任何一台服务器出现故障 ...
- oracle数据库没有选项,创建oracle数据库时,出现ORA-00922: 选项缺失或无效
sdd53HOME 新建oracle数据库时遇到ORA-00922: 选项缺失或无效的问题,如图: 原因:一般是语句的语法有问题.比如命名不对,关键字写错等等.对于非标准的命名,一般采用双引号来创建. ...
- oracle数据库的拼接字符串,Oracle数据库拼接字符串
Ora-03113\Ora-03114与Oracle In 拼接字符串的问题 刚深入接触Oracle不久(大学里以及刚参加工作时学到的Oracle知识只能算是皮毛),因为之前使用SqlServer有将 ...
- 本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案
本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案 参考文章: (1)本机未装Oracle数据库时N ...
- 没有oracle客户端可以连接数据库,Oracle数据库之SqlDbx连接oracle(无需安装Oracle客户端)...
本文主要向大家介绍了Oracle数据库之SqlDbx连接oracle(无需安装Oracle客户端),通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 标签:acl str ...
- oracle数据库怎么分组查询,oracle数据库之分组查询
本章内容和大家分享的是数据当中的分组查询.分组查询复杂一点的是建立在多张表的查询的基础之上,(我们在上一节课的学习中已经给大家分享了多表查询的使用技巧,大家可以自行访问:多表查询1 多表查询2)而在 ...
最新文章
- linux从源码编译软件,linux软件包管理——源码包编译安装
- c语言万年历设计目的,万年历设计报告
- Jupyter运行GitHub里的MXNet源代码
- linux中使用u盘和光驱的命令_linux命令详解之挂载光驱的方法
- 计算机科学与技术专业的英文作文,计算机专业英语:科技交流与科技论文写作...
- 常见ActiveX控件下载大全
- arduino GPS 经纬度解析(C语言)
- 本科最高5w!毕业生落户指南!18城市人才引进补贴
- linux去掉锁屏密码,安卓手机锁屏密码清除方法 android7.0锁屏密码怎么去除
- 【Flink】Flink中的窗口函数、时间语义及watermark
- 百度排名批量查询_企业网站建设,核心关键词排名丢失,怎么办?
- Playwright选择器
- python链式函数_python 链式
- leetcode 组合总和IV(Java)
- 推荐一款自带很好用的桌面便签
- Android之内嵌PDF预览
- Java设计模式学习2:行为模式
- [EDI实施案例] 耐世特/Nexteer DESADV报文的业务解读
- MySQL 开启大页内存
- layui表格 列自动适应大小失效