必威体育Betway必威体育官网
当前位置:首页 > IT技术

Oracle中创建和使用触发器Trigger

时间:2019-10-10 20:43:24来源:IT技术作者:seo实验室小编阅读:83次「手机版」
 

oracle 触发器

本文是简单的课程笔记

– 触发器(门铃) 监听器

create or replace trigger 名字

before|after

insert|delete|update

on 表名

for each row

begin

sql 语句 ; –必须要加分号结束sql语句。

end;

– 结合序列完成表中字段的值自动增加

create or replace trigger t1

before

insert

on ta

for each row – :对于每行数据都会触发该触发器

begin

– :new 新添加到数据库的当前这条数据记录

– :old 要删除或者修改的原数据

– :new.字段 新添加到数据库的当前这条数据中的指定字段

:new.id := s5.nextval; – := 赋值操作

end;

insert into ta(name,hir,mubiao)values(‘小白’,sysdate,30);

– update delete 操作的时候我会将更新之前的数据备份到一张表中

create table copyta as select * from ta where 1=2;

create or replace trigger t2

before

delete or update

on ta

for each row

begin

insert into copyta values(:old.id,:old.name,:old.hir);

end;

– :old 表示的是数据库中原有的数据

– 删除触发器

drop trigger t4;

select * from ta;

delete from ta;

– 如果是周六 周日 每天 18:00 到第二天的9:00点不能修改表

select to_char(sysdate,’HH24:MI’) from dual;

– sql编程中不能书写 双引号

create or replace trigger t4

before

update or delete

on ta

for each row

begin

if (to_char(sysdate,’DY’)in (‘星期六’,’星期日’))

or (to_char(sysdate,’HH24:MI’) not between ‘09:00’ and ‘18:00’)

then –注意’09:00’中9前面的0不能省略,否则和转换后的日期字符串不匹配

raise_APPlication_ERROR(-20001,’这个时间段是不能修改表信息的’);

end if;

end;

– raise_application_error() oracle中自定义异常的函数

select * from ta;

相关阅读

CreateMutex创建互斥内核对象

http://blog.sina.com.cn/s/blog_149e9d2ec0102wyr0.html在编程中我们常使用程序创建一个互斥的内核对象,目的就是为了让这个程序

oracle的LAST_DAY()函数

LAST_DAYLAST_DAY函数返回指定日期对应月份的最后一天。获取当前日期的最后一天SQL> SELECT last_day(SYSDATE) FROM dual;运行结

Oracle Sqlplus命令登录的几种方式

sqlplus 命令语法 sqlplus [ [<option>] [{logon | /nolog}] [<start>] ] <option> 为: [-C <version>] [-L] [-M "<options>"]

oracle数据库的下载与安装

Oracle 是一个关系型数据库,主要用于存储数据。官网下载:http://www.oracle.com/technetwork/database/enterprise-edition/downloa

解决Maven创建web工程web.xml版本过低的问题,妈妈再也

解决Maven创建web工程web.xml版本过低的问题,妈妈再也不用的担心我的学习了一次性解决Maven项目web.xml版本过低的问题Tom: Peter,你

分享到:

栏目导航

推荐阅读

热门阅读