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

万网网站建设万网网站建设网址域名注册信息查询

万网网站建设万网网站建设,网址域名注册信息查询,岳阳建站公司,淘客网站做单品类简述本文將具体简述触发器的语法,触发条件及其适用场景,希望对读者理解,使用触发器能起到作用。触发器的定位触发器是数据库独立编译,存储的对象,是数据库重要的技术。和函数不同,触发器的执行是主动的&…

简述

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

触发器的定位

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

触发器能监控什么

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

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

  • 数据库操作(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.15wanjia.com/news/4812.html

相关文章:

  • 做 理财网站有哪些问题网络舆情监测与研判
  • wordpress post 类型seo一键优化
  • 烟台 做网站的公司免费b站推广网站入口2020
  • 单位网站建设收费标准国外搜索网站排名
  • 西安网络公司网站建设系统优化工具
  • 做期货应关注什么网站网站安全检测平台
  • 电子商务网站建设方案案例最新的全国疫情数据
  • 周口集团网站建设nba最新消息球员交易
  • 盈科互动网站建设制作公司discuz论坛seo设置
  • 这样做自己的网站网站赚钱
  • 网站开发需要配置哪些人员网上的推广公司
  • 云主机配置网站推广专员
  • 申请好域名后 怎么做网站百度地图导航
  • 深圳购物网站产品推广渠道有哪些
  • 电商做网站2021年关键词有哪些
  • 怎么用虚拟主机做网站步骤网站下载免费软件
  • 网站开发华企云商淘宝代运营1个月多少钱
  • 西宁网站制作多少钱seo排名点击器
  • 海外推广方式有哪些重庆网站优化排名推广
  • java做网站开发书百度浏览器下载
  • 合肥网站优化 新浪博客常宁seo外包
  • 做pc端网站包括哪些广告联盟平台
  • 百度小程序制作网站如何提高网站在搜索引擎中的排名
  • 全国做网站排行青岛新闻最新今日头条
  • 上海招聘网站排名什么是互联网营销
  • 做网站的群关键词排名零芯互联排名
  • 公司网站 模板seo顾问服务咨询
  • 厦门建行网站首页百度官网认证价格
  • 网站开发 太原产品推广介绍怎么写
  • 搜索引擎营销是目前最主要的网站推广营销google下载安卓版下载