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

深圳网站制作哪家好培训机构招生方案模板

深圳网站制作哪家好,培训机构招生方案模板,陈列设计师培训,增加网站访客触发器的分类: 语句级触发器:不管影响多少行,都只会执行一次 行级触发器:影响多少行,就触发多少次 一、语句触发器 1、当用户执行了 insert | update | delete 这些操作之后,可以触发一系列其他的动作 | …

触发器的分类:
语句级触发器:不管影响多少行,都只会执行一次
行级触发器:影响多少行,就触发多少次

一、语句触发器

1、当用户执行了 insert | update | delete 这些操作之后,可以触发一系列其他的动作 | 业务 trigerhandler

作用:
在动作执行之前或者之后,触发业务处理逻辑
插入数据,做一些校验

2、语法
create {or replace} trigger 触发器的名称 
before | after
insert | update | delete
on 表名
declare beginend;
3、插入员工之后,输出一句话
-- 新员工入职之后,输出一句话:欢迎加入我们
create or replace trigger tri_test1
after
insert
on emp
declare
begindbms_output.put_line('欢迎加入我们');
end;

向emp表上插入

insert into emp(empno,ename) values(9527,'XAIOHONG');

插入成功

select * from emp;

在这里插入图片描述
插入成功的同时并且输出了一句话
在这里插入图片描述

--数据校验,星期五老板不在,不能办理新员工入职
--在插入数据之前
--判断当前日期是否是周五
--如果是周五,就不能插入信息
create or replace trigger tri_test2
before 
insert 
on emp
declare -- 声明变量vday varchar2(10);
begin -- 查询当前日期  select trim(to_char(sysdate,'day')) into vday from dual; -- 判断当前日期if vday = 'friday' thendbms_output.put_line('老板不再,不能办理入职');--抛出系统异常raise_application_error(-20001,'老板不再,不能办理入职');end if;
end;

当插入信息的时候

insert into emp(empno,ename) values(9528,'XIAOHONG2');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、行级触发器

:old 代表旧的记录,更新前的记录
:new 代表的是新的记录

create {or replace} trigger 触发器的名称 
before | after
insert | update | delete
on 表名
[for each row]
declare 
begin
end;
1、更新所有员工的工资
--更新所有的工资 输出一句话
create or replace trigger tri_test3
after 
update
on emp
for each row
declare 
begindbms_output.put_line('更新了数据');
end;

在这里插入图片描述

update emp set sal = sal + 10;

在这里插入图片描述

2、判断员工涨工资后工资一定要大于涨工资前的工资
--判断员工涨工资后工资一定要大于涨工资前的工资
/*200 --> 100触发器:before旧的工资新的工资如果旧的工资大于新的工资,抛出异常,不让它执行成功
*/
create or replace trigger tri_updatesal 
before
update 
on emp
for each row 
declarebegin if :old.sal > :new.sal thenraise_application_error(-20002,'旧的工资不能大于新的工资');end if; 
end;

在这里插入图片描述

update emp set sal = 200 where empno = 7499;

在这里插入图片描述

增加数据

update emp set sal = sal + 10;

在这里插入图片描述

update emp set sal = sal - 10;

在这里插入图片描述

三、模拟mysql中ID自增长auto_increment

创建一张表

create table person(  pid number primary key,pname varchar2(20)
);

这里不能向MySQL应用直接插入id为空的值,实现不了自增长

insert into person values(null,'张三');

在这里插入图片描述
解决如上问题

使用触发器来解决上述问题

(1)创建序列:create sequence seq_person_pid;
(2)触发器
create or replace trigger tri_add_person_pid;
before
insert 
on person
for each row
declare begindbms_output.put_line(:new.pname);
end;

在这里插入图片描述
插入数据

insert into person values(null,'张三');

在这里插入图片描述

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

相关文章:

  • 企业网站开发协议今日最新重大新闻
  • 深圳 做网站 互联网页设计代码案例
  • 响应式网站栅格平台推广是什么
  • php做网站答辩问题怎样搭建一个网站
  • 静态网站怎么做软文营销的技巧有哪些
  • 地图网站制作搜索引擎营销的名词解释
  • 建设银行网站app好的营销网站
  • 国内永久免费crm游戏站外seo推广
  • 网站建设的公司系统规划方案怎么去优化关键词
  • 国外做电商平台的网站还有什么网站优化设计公司
  • 做网站上传图片一直错误西安seo计费管理
  • 易语言编程软件做网站goole官网
  • 怎么做淘宝客手机网站推广google seo教程
  • 可以做宣传的网站有哪些seo 首页
  • 上海网站建设推荐秒搜科技免费seo网站优化
  • 做彩票网站技术找客户资源的网站
  • 大庆做流产油城女子网站网站页面优化包括
  • 用织梦做的网站好还是cms郑州厉害的seo顾问
  • 武昌网站建设seo主要做什么工作
  • 企业网站设计调查问卷竞价开户推广
  • 创建网站需要哪些要素班级优化大师官方网站
  • 如何创办视频网站成都官网seo厂家
  • 上海市住房和城乡建设管理委员会网站seo排名优化方式
  • 网站建设怎么弄外贸建站推广哪家好
  • 营销型网站名词解释网站的优化公司
  • 做公司网站应准备什么材料百度关键词排名靠前
  • 页面设计素材库大冶seo网站优化排名推荐
  • 永州城乡建设网站网络项目资源网
  • 中国新闻发布搜索优化的培训免费咨询
  • 网站推广 扬州佛山做网络优化的公司