ORACLE
懵逼选手
这个作者很懒,什么都没留下…
展开
-
oracle修改字段为负数执行触发器抛出异常
//创建一个修改字段为负数抛出异常的触发器这段程序中有两个概念:new和:old, :new代表执行更新操作之后的新表,:old代表执行更新操作之前的旧表。通过这两张表的使用,可以访问到触发器执行前后表数据的变化。insert操作只有:new,delete操作只有:old,update操作二者皆有。:new 和 :old只用于行级触发器。--:new表,将插入的数据先放入到:new表中,确认后放到要更新的表。--:old表,将不要的数据先放入到:old表中,确认不要了再清除:old表。原创 2020-08-03 11:48:36 · 525 阅读 · 0 评论 -
oracle触发器使用实例
在使用触发器前先理解两个概念:new和:old, :new代表执行更新操作之后的新表,:old代表执行更新操作之前的旧表。通过这两张表的使用,可以访问到触发器执行前后表数据的变化。insert操作只有:new,delete操作只有:old,update操作二者皆有。:new 和 :old只用于行级触发器。–:new表,将插入的数据先放入到:new表中,确认后放到要更新的表。–:old表,将...原创 2019-12-30 16:32:31 · 284 阅读 · 1 评论 -
oracle行级触发器和语句级触发器区别
行级触发器顾名思义就是该SQL影响的行数等于执行触发器的次数,语句级触发器就是不管该SQL影响多少条数据,你执行一条SQL只触发一次操作创建触发器行级触发器t_mydelcreate or replace trigger t_mydelafter deleteon REC_BALANCEfor each row --行级触发器,屏蔽该语句则变为语句级触发器begindbm...原创 2019-12-27 11:34:36 · 2240 阅读 · 1 评论 -
oracle创建id自增触发器
--id自增触发器create sequence seq715; --创建序列create or replace trigger t_insertbefore insert --插入数据前on REC_SHOPING --REC_SHOPING表for each row --行级触发器begin:new.SP_NUM:=seq715.nextval; ...原创 2019-12-27 10:58:55 · 948 阅读 · 0 评论 -
Oracle PL/SQL语句块的循环(for、whlie、loop)和判断(if)
##一、PL/SQL语句块的循环###1.for循环--for循环declarei int;j int;beginfor i in 1..9 loop --i IN 1..9的意思是循环从1开始到9结束 for j in 1..i loop Dbms_Output.put(i||'*'||j||'='||i*j); --将内容写到内存,等到put_line...原创 2019-12-26 12:11:40 · 1910 阅读 · 1 评论 -
oracle数据库触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句
触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句 在触发器中不能运行 ddl语句和commit,rollback语句ddl语句:DDL语句用语定义和管理数据库中的对象,如Create,Alter,Drop,truncate等;DDL操作是隐性提交的! &...转载 2019-12-25 16:12:13 · 792 阅读 · 0 评论 -
Oracle数据库单表回滚
单表记录回滚到指定时间,在进行数据回滚前,也可以通过命令查看回滚时间点前的数据情况,语句如下:select * from 表名 as of timestamp to_timestamp('2019-11-26 15:02:00', 'yyyy-mm-dd hh24:mi:ss');接下来就是进行数据回滚操作了。(1)开启闪回,如果不开启无法进行闪回alter table 表名 ena...原创 2019-11-26 15:39:18 · 3261 阅读 · 0 评论