当前位置: 首页 > news >正文

用万网建设网站教程视频谷歌浏览器 安卓下载2023版官网

用万网建设网站教程视频,谷歌浏览器 安卓下载2023版官网,内账免费的财务软件,模版大全简述本文將具体简述触发器的语法,触发条件及其适用场景,希望对读者理解,使用触发器能起到作用。触发器的定位触发器是数据库独立编译,存储的对象,是数据库重要的技术。和函数不同,触发器的执行是主动的&…

简述

本文將具体简述触发器的语法,触发条件及其适用场景,希望对读者理解,使用触发器能起到作用。

触发器的定位

触发器是数据库独立编译,存储的对象,是数据库重要的技术。和函数不同,触发器的执行是主动的,它监控着数据库,满足其触发条件自动触发,便于我们对数据库的管理。

触发器能监控什么

触发器能 监控数据库的数据,数据结构的变化及数据库事件。

可以监控数据库以下变化:

  • 数据库操作(DML)语句(DELETE,INSERT或UPDATE)

  • 数据库定义(DDL)语句(CREATE,ALTER或DROP)。

  • 数据库操作(SERVERERROR,LOGON,LOGOFF,STARTUP或SHUTDOWN)。

触发器语法

CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER }
{INSERT | DELETE | UPDATE [OF column [, column …]]}
[OR {INSERT | DELETE | UPDATE [OF column [, column …]]}...]
ON [schema.]table_name | [schema.]view_name
[REFERENCING {OLD [AS] old | NEW [AS] new| PARENT as parent}]
[FOR EACH ROW ]
[WHEN condition]
PL/SQL_BLOCK | CALL procedure_name;

触发器触发的时机

触发器的触发条件在事件发生前或发生后,主要用于DML语句下,触发的,一共有12种类型

BEFORE INSERTBEFORE INSERT FOR EACH ROWAFTER INSERTAFTER INSERT FOR EACH ROWBEFORE UPDATEBEFORE UPDATE FOR EACH ROWAFTER UPDATEAFTER UPDATE FOR EACH ROWBEFORE DELETEBEFORE DELETE FOR EACH ROWAFTER DELETEAFTER DELETE FOR EACH ROW

触发器类型

DML触发器

ORACLE可以在DML(数据更新语句)进行触发,可以在DML操作前或操作后进行触发,并且可以对每个行或语句操作上进行触发。

insert into user_lin(username) values('linzilong')create or replace trigger myTriggerInsert
before insert on user_lin
for each row
begin 
insert into mytrigger values('linzilong2',sysdate);
end;
替代触发器

由于在ORACLE里,不能直接对由两个以上的表建立的视图进行操作。所以给出了替代触发器。它就是ORACLE 8专门为进行视图操作的一种处理方法。

--練習替代觸發器
CREATE TABLE dept_lin(
deptno INT PRIMARY KEY,-- 部門編號
dname VARCHAR(14),-- 部門名稱
loc VARCHAR(13)-- 部門地點
);CREATE TABLE emp_lin(
empno INT NOT NULL PRIMARY KEY,-- 員工號
ename VARCHAR(10),-- 員工姓名
job VARCHAR(10),-- 職位
mgr INT, --上級領導
hiredate date,-- 受雇日期
sal number,-- 薪金
comm number, -- 佣金
deptno  number  -- 所屬部門);
INSERT INTO dept VALUES
(10, ‘Accounting’, ‘New York’),
(20, ‘Research’, ‘Dallas’),
(30, ‘Sales’, ‘Chicago’),
(40, ‘Operations’, ‘Boston’),
(50, ‘Admin’, ‘Washing’);
INSERT INTO emp VALUES
(7369, ‘Smith’, ‘Clerk’,7902, ‘1980-12-17’,800,0,20),
(7499, ‘Allen’, ‘Salesman’,7698,‘1981-2-20’,1600,300,30),
(7844, ‘Turner’, ‘Salesman’,7499, ‘1981-9-8’,1500,0,30),
(7698, ‘Tom’, ‘Manager’,0, ‘1981-9-8’,6100,600,40),
(7876, ‘Adams’, ‘Clerk’,7900, ‘1987-5-23’,1100,0,20),
(7900, ‘James’, ‘Clerk’,7698, ‘1981-12-3’,2400,0,30),
(7902, ‘Ford’, ‘Analyst’,7698, ‘1981-12-3’,3000,NULL,20),
(7901, ‘Kik’, ‘Clerk’,7900, ‘1981-12-3’,1900,0,30);create or replace view myview as 
SELECT emp_lin.*
FROM emp_lin left   JOIN dept_lin
ON dept_lin.deptno=emp_lin.deptno;create or replace trigger emp_triggersINSTEAD OF   delete   ON myview  for each row
begin delete from  emp_lin where empno= :old.empno;end emp_triggers ;select *from myview
delete from  myview where empno=7369
系统触发器

ORACLE 8i 提供了第三种类型的触发器叫系统触发器。它可以在ORACLE数据库系统的事件中进行触发,如ORACLE系统的启动与关闭等。

触发器的限制

1.不能使用控制语句:如commit、rollback、savepoint

2.由触发器所调用过程或函数也不能使用控制语句

3.不能使用long、long raw类型

oracle触发器的优缺点

优势

  1. 自动化。自动化维护数据保证数据的一致性

  1. 维护数据的合法性。数据插入前自动检查数据的合法性,保证数据的安全。

缺点

可维护性差。由于触发器的隐蔽性,数据更新失败,难以追溯,逻辑的修改需要修改源码,由于触发器的源码可读性较差,导致这一过程,变得更加麻烦。

http://www.ds6.com.cn/news/20864.html

相关文章:

  • 固镇做网站多少钱移动端关键词排名优化
  • 微信网站开发多少钱怎么利用互联网推广
  • 嘉兴有哪些做网站的公司百度快速收录账号购买
  • 辽宁建设工程信息网新网站品牌型网站设计推荐
  • 贸易公司如何做英文网站3d建模培训班一般多少钱
  • 爬取漫画数据做网站景德镇seo
  • 免费网站制作作业湛江seo网站管理
  • 企业做网站和开展电子商务的好处seo 论坛
  • 佛山网站建设公司排行网络营销论文3000字
  • 深圳遗像制作抚州seo排名
  • 电子商务网站建设技术规范杭州新站整站seo
  • 成都线上推广平台seo业务培训
  • 建动态网站教程郑州网站推广
  • seo管理seo新人怎么发外链
  • 用.net做购物网站怎么优化网站
  • 网站的网页建设知识ppt模板seo优化排名推广
  • 仙居建设规划局网站新网站友链
  • 网站域名有了 网站如何建设站长工具外链查询
  • 金色世纪做网站的是哪个岗位sem工资
  • 手机免费网站建设厦门seo优化外包公司
  • 做商城类网站空间怎么买西安百度推广排名
  • 哪家公司建设网站网络推广优化招聘
  • 灰产项目网北京做网络优化的公司
  • 网站开发可以入无形资产吗进入百度知道首页
  • 建设行业个人云网站外链代发免费
  • 成都鲜花网站建设惠州seo外包服务
  • 滕州网站开发seo优化工作内容
  • 织梦cms瀑布流极品美女图片网站源码百度竞价排名又叫什么
  • 网站程序上传教程湖南省人民政府官网
  • 衡水企业网站设计怎么在百度上做推广上首页