无效-oracle触发器中使用like语句,和hibernate共同使用时失效,怎么办?

问题描述

oracle触发器中使用like语句,和hibernate共同使用时失效,怎么办?

我定义了一个触发器,主要功能是做一个表数据的同步,如果直接用toad增加数据,触发器可正常执行,但是靠hibernate新增数据之类,触发器中like语句一直返回false的结果。求解决办法!!
下面是我的触发器:
CREATE OR REPLACE TRIGGER NOTXSI
AFTER INSERT
ON ELEMENT
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
BEGIN
delete from my_sales.ELEMENT tt where tt.fd_id=:new.fd_id and tt.fd_hierarchy_id like '%7e77%';
EXCEPTION
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END notxiaosi;

时间: 2024-10-31 21:21:08

无效-oracle触发器中使用like语句,和hibernate共同使用时失效,怎么办?的相关文章

Oracle触发器中when语句的用法

案例:scott.emp表的销售员工资只能增加,不能减少 代码: CREATE OR REPLACE TRIGGER tr_emp_updBEFORE UPDATE OF salON empFOR EACH ROW --当更新销售员时才触发WHEN (OLD.job='SALESMAN')DECLAREBEGIN  IF(:NEW.sal<:OLD.sal) THEN    raise_application_error(-20013,'销售员工资不能降低!');  END IF;END;  

oracle触发器定时执行

问题描述 oracle触发器定时执行 请高手帮忙写一个触发器,当表中插入数据时,一段时间后(3分钟或者5分钟)自动 修改表中最新数据(有插入时间字段)的某个字段为false或者为1: 解决方案 等我回实验室,现在在上课 解决方案二: 在Oracle的触发器中执行DDL语句oracle 一个表上的多个触发器的执行顺序 解决方案三: 触发器是针对表格中有数据新增修改和删除时触发的程序,那只是一瞬间的事情,oracle有一个dbms_lock.sleep(10);休眠功能, 但是如果一次性新增了100

Oracle触发器trigger详解_oracle

触发器相关概念及语法 概述 本篇博文中主要探讨以下内容: 什么是触发器 触发器的应用场景 触发器的语法 触发器的类型 案例 数据: 触发器的概念和第一个触发器 数据库触发器是一个与表相关联的,存储的PL/SQL 语句. 每当一个特定的数据操作语句(insert update delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列. 举个简单的例子: 当员工表中新增一条记录后,自动打印"成功插入新员工" create or replace trigger inser

关于ORACLE数据库中汉字显示乱码

  1 引言 ORACLE数据库作为业界领先的数据库产品,近年来在国内大中型企业中得到了广泛的应用.虽然ORACLE数据库产品本身在本地化方面已做得相当成熟,但还是有不少用户反应汉字显示乱码的问题.如对同一数据库不同的用户对同一表中的username查询却得出了不同的结果: "ORACLE??????"和"ORACLE中国有限公司",显然结果中将中文字符显示为乱码,那么为什么呢?字符集的设置不当是影响ORACLE数据库汉字显示的关键问题. 2 关于字符集 字符集是O

oracle-ORACLE 触发器中 使用游标查询 本表 报错ORA-04091

问题描述 ORACLE 触发器中 使用游标查询 本表 报错ORA-04091 racle 触发器. 监听表A 更新 更新后触发. 其中 使用游标查询表A 数据. OPEN 游标时 会报 ORA-04091:表A发生了变化,触发器/函数不能读它 于是增加了自定义事物 pragma autonomous_transaction; 增加事物之后不报错了.但是OPEN 的游标 没有获取到任何数据. 想做到的效果是 是这样. 比如说表A里面有4条数据 1 aaaa 2 bbbb 3 cccc 4 dddd

hibernate-Oracle数据库中新增一个字段,Hibernate中映射怎样加?

问题描述 Oracle数据库中新增一个字段,Hibernate中映射怎样加? 问题:我在oracle数据库中新增一个字段,那么在Hibernate映射中,需要手动加进去吗?在中. 谢谢!! 解决方案 类似这样,第一个name对应实体中,第二个name对应数据库 解决方案二:

[数据库]Oracle中分页查找语句的实现

oracle|分页|数据|数据库|语句 我们经常要访问数据集的某一个中间部分,例如第10到第20条记录,Oracle中有一个很好语句来实现,那就是with.以下是使用的例子: with partdata as (select rownum rowno,t.* from  table1 t where t.id>200407160000)select * from partdata where rowno between 10 and 20 当然还有别的方法,但我目前测试这种方法的速度最快.以上代

找到Oracle数据库中性能最差的查询语句

"V$SQLAREA"和" V$SQL"是非常有用的视图,在其中你可以查找发现执行效率最差的需要优化的SQL语句."DISK_READS"列的值表示在系统中执行该语句读取的磁盘量. 这个与执行(DISK_READS/EXECUTIONS)相结合,返回每个语句执行实现最佳磁盘命中率的SQL 语句.排在这个列表中最上方的任何语句都最可能是有问题的查询,需要进行优化.AWR报告或者Statspack报告也列出了资源密集的查询. 下面的查询语句可以用来查

oracle id 自增 报错 ORA-04079: 无效的触发器说明

问题描述 oracle id 自增 报错 ORA-04079: 无效的触发器说明 在行 1 上开始执行命令时出错: create or replace trigger Lidtri before insert on LEAF SPEC for each row begin select Lidtri.nextval into :new.LID from dual; end; 错误报告: ORA-04079: 无效的触发器说明 04079. 00000 - "invalid trigger spe