题外话:

Oracle 的使用。
以前客户方用的是SQL SERVER,一直在用SQL SERVER,感觉SQL SERVER的用户体验非常好。
不管是开发环境的界面布局到SQL 的写法上,感觉写起来颇为流畅。
 
后来开始用PL/SQL之后,觉得有时候会很别扭,感觉用户界面体验差一些,SQL写起来也是很别扭。
每句话基本上都要有一个分号,而且,select 有时候还需要from dual;可能为了要求严谨吧,这样势必会让人觉得相对MSS要强大一些。
 
再后来,再客户要求写一个功能的时候,用到了触发器,然后慢慢也觉得 也挺有意思的。
所有对象都会罗列到左侧上方的区域里面。然后左下方是打开的窗口列表,相如在MSS里面,打开窗体的列表会以TAB页面的形式显示在上方。
右侧是编辑区域,分为上下两部分,上方是编辑区域,下方是执行结果区域。
右上方又分为了左右两个部分。比较亮的一点就是会把程序的结构以树形的方式展现出来。这样就算再长的代码也能较快的定位到。
相如MSS好像就没有这种树形结构的设计,但MSS提供的是代码收缩。
唯一比较遗憾的是,好像注释的代码显示不在左侧,所以不能很清楚的知道每个代码块的实际作用。反而MSS的代码收缩,可以直接收缩到注释,
这样一来就能很清晰的知道,这块代码到底是干什么的。
算是,各有千秋吧。
 
 
 

下面转入触发器,触发器CSDN,CNBLOG上,很多人都写的太详细,太完美了,那么长,实际使用的时候,再去面对自己的情况,真的是很麻烦。
 
 CREATE OR REPLACE TRIGGER tr_Update_MSG_YX
AFTER INSERT
ON MSG_YX
FOR EACH ROW
declare
str varchar( 2500 );
BEGIN SMS_Insert(:new.ID,: new.MSGTITLE);
exception when others then
str:=sqlerrm( sqlcode);
str:='ID:' ||:New.ID||',保存失败,' ||str;
Insert into MSG_YX_STATUS(ID, REsult)values(:New .ID,str);
END;
简单说来,就这么几句话。
 Create Or Replace TRIGGER 触发器的名字
after Insert /*新增之后,这块实际使用的时候再谷歌一下,看看还可以选择啥,基本上delete update 都有*/
on 要监视的表名称
for each row --每一行的操作都会被监控到
declare
str varchar(2500);--声明变量
Begin
--写SQL,执行存储过程。
--:New 里面放着那个你新增的数据行,可以直接 点 出列来。
--:old 里放着修改前的数据,Insert没有,update和delete 才有。
exception when others then
str:=sqlerrm(sqlcode);--就是说,如果执行语句报错了,就把错误信息赋值给str这个变量。
/*然后可以建立一张记录表,将错误信息记录下来,或者做其他的操作。剩下的基本上就是SQL操作了,跟触发器关系不大*/
/*还有监控列级别的,其他的那些,就可以直接再谷歌一下,看看根据实际需要改一改就行了,子事务啥的*/
End;

基本上就这样,深入的研究,还是需要个人慢慢来的。

[Oracle]TRIGGER的更多相关文章

  1. [结]Oracle trigger(触发器)摘录

    1.触发器: 是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 触发器在数据库里以独立的对象存储,它与存储过程和函数不同 ...

  2. Oracle trigger 触发器

    触发器使用教程和命名规范 目  录触发器使用教程和命名规范 11,触发器简介 12,触发器示例 23,触发器语法和功能 34,例一:行级触发器之一 45,例二:行级触发器之二 46,例三:INSTEA ...

  3. Oracle 触发器在日志管理开发中的应用

    摘要: 本文讨论了利用数据库中的触发器对日志管理进行设计与实现的方法, 是对原来在客户端软件中编写日志管理方法的一种改进, 并给出了 Oracle9i 中的实例演示.关键词: Oracle; 触发器; ...

  4. oracle function dtrace

    https://andreynikolaev.wordpress.com/2010/10/28/appetizer-for-dtrace/ Appetizer for DTrace Filed und ...

  5. ORA-04091错误原因与解决方法

    最近工作中写了一触发器报错:ORA-04091:table XX  is mutating, trigger/function may not see it. 下面通过官方文档及网友提供资料分析一下错 ...

  6. oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)

    开发过程中,需要不停的备份数据库对象, 特别是存储过程, 每次手动备份不免很低能啊 历经几次修改终于, 完美了,O(∩_∩)O哈哈~      (当然,你也可以再改简便一点~~~) select db ...

  7. Writing On-Error Trigger In Oracle Forms

    Suppose you want to handle an error in oracle forms and want to display custom error message for tha ...

  8. An Example of On-Error Trigger in Oracle Forms

    I wrote this trigger around 4 years ago to handle errors in an application based on Oracle Forms 6i. ...

  9. Pre-Update and Pre-Insert Trigger Examples For Oracle Forms

    See also: Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle FormsPre-Update Fires dur ...

随机推荐

  1. 大数据计算:如何仅用1.5KB内存为十亿对象计数

    大数据计算:如何仅用1.5KB内存为十亿对象计数  Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5K ...

  2. Poj 2299 Ultra-QuickSort(归并排序)

    题目链接:http://poj.org/problem?id=2299 思路分析:序列的逆序数即为交换次数,所以求出该序列的逆序数即可.根据分治法思想,序列分为两个大小相等的两部分, 分别求子序列的逆 ...

  3. <jsp:include page="">和<%@include page=""%> 标签学习

    <jsp:include page=""><jsp:param value=""name=""/><DEL&g ...

  4. JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容

    实现效果: 图一: 图二: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font/5a6L5L2T/fontsize/400/f ...

  5. svn恢复到之前某个版本号

    一直在找svn回滚的方法,这个还是非常有用的,屡试不爽阿 常常因为坑爹的需求,功能要切回到之前的某一个版本号.有两种方法能够实现: 方法1: 用svn merge  1) 先 svn up,保证更新到 ...

  6. Dalvik虚拟机的优化机制

    Dalvik虚拟机设计作为Android系统定制虚拟机, 在移动设备上运行,必须要比普通的Java虚拟机有更多的优化手段和机制, 以下就列举出其中主要的一些优化机制: 1. 使用dex格式的类文件,可 ...

  7. 中国A股市场缘何遭遇9连跌?

    端午长假刚过,当投资者对“红六月”预期信心满满的时候,A股市场却遭遇了诡异的跌势,截止6月17日收盘,A股出现了罕见的“9连跌”.不仅上证综指失守2200点年线整数位,深证成指跌幅则高达3%以上,而且 ...

  8. cocos2d-x游戏开发系列教程-超级玛丽01-前言

    前言 上次用象棋演示了cocos2dx的基本用法,但是对cocos2dx并没有作深入的讨论,这次以超级马里奥的源代码为线索,我们一起来学习超级马里奥的实现,并以一些篇幅来详细讲述遇到的具体问题和具体的 ...

  9. 利用cmake来搭建开发环境

    对于经常在终端下写程序的non-windows程序员,Makefile绝对是最常用的工具,小到一个文件的简单的测试程序,大到数百个文件的商业软件,只需要有shell,一个make命令就可得到可运行的程 ...

  10. C++标准库类型vector及迭代器iterator简介

    Vector是C++标准库类型,称为容器,一个容器中的所有对象必须是同一种类型的.与数组相比,其最大的优点就是动态增长.Vector是一个类模板,并不是数据类型,而vector<int>和 ...