
oracle
文章平均质量分 58
冰城野草-ICE
5年游戏研发及项目管理经验-完美世界
5.5年短视频互联网行业研发及项目管理经验-快手
展开
-
oracle语句级触发器使用操作的历史数据
在oracle中,触发器分为三类,行触发,语句触发、替代触发,这里讨论语句触发,因为在语句级触发器没有new和OLd可以访问历史数据,但是很多情况是必须使用这些刚刚更新或删除的数据进行其他操作,下面提供一种解决方法:首先定义一种表类型 的结构,然后创建一个行级触发器,这个触发器仅做一个操作,就是利用old、new记录刚刚操作的数据,然后创建一个语句级触发器,在这个语句级触发器里面执行相应的业...2013-06-15 12:39:48 · 319 阅读 · 0 评论 -
oracle触发器更新当前表
装载注明:http://yuexiaodong.iteye.com/blog/1891589 总是有这样的需求,当更新某个表的某条记录,然后需要对该表的某个字段进行更新,通过使用触发器即可完成这项工作。具体思路就是:首先建立一个临时表,然后在行触发器中记录当前操作的记录,然后在语句触发器中更新当前表。这样做的原因是,oracle对行触发器进行了限制,不能对当前表操作(具体...原创 2013-06-21 15:28:40 · 2456 阅读 · 0 评论 -
经典的Oracle分页
1、按rowid分页select * from area where rowid in(select rid from (select rownum rn,rid from(select rowid rid,id fromarea order by id desc ) where rownum<82000) where rn>81980) order by id desc;...原创 2013-06-21 16:20:46 · 105 阅读 · 0 评论 -
oracle动态SQL绑定集合变量
有如下需求,在存储过程中,传递的参数是字符串,字符串格式是‘1,2,3 ’, 由数字组成,中间用','号分割;然后在SQL语句如下使用: create or replace procedure moveToRight (v_ids varchar2, v_workid int )asi_sql varchar2(1000);begin /* -- v_ids...2013-06-22 08:44:44 · 796 阅读 · 0 评论 -
ORA-00036: Maximum number of recursive sql levels (50) exceeded
遇到的一个错误:ORA-00036: Maximum number of recursive sql levels (50) exceeded,根据提示和网上说的,是表空间不够或目录数过多导致,我是在某个表的更新触发器之中又写了更新该表的操作语句,很明显会出现这样级联触发的问题;即如下代码: create or replace trigger a_updatebefore upd...2013-07-15 12:19:48 · 1547 阅读 · 0 评论 -
dbms_metadata.get_ddl的用法
dbms_metadata包中的get_ddl函数 --GET_DDL: Return the metadata for a single object as DDL.-- This interface is meant for casual browsing (e.g., from SQLPlus)-- vs. the programmatic OPEN / FETCH / C...原创 2013-07-15 13:31:23 · 190 阅读 · 0 评论 -
(转) Oracle ROWNUM用法和分页查询
[转载]http://yangtingkun.itpub.net/post/468/528605最后简单总结一下ROWNUM,很多人都知道ROWNUM只适用于小于或小于等于,如果进行等于判断,那么只能等于1,不能进行大于的比较。但是却并不了解造成这种限制条件的机制是什么。对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字...原创 2013-09-09 10:52:09 · 138 阅读 · 0 评论