我刚开始学习触发器。我想在插入测试后给用户一个通知'插入成功'。插入后oracle触发器打印

这是我的代码。

create table test (id number, name varchar2(30));

create trigger tr_test

after insert on test

for each row

begin

dbms_output.put_line('insert successfully');

end;

/

insert into test values(1, 'john');

而我得到的错误是这样的:

ERROR at line 1:

ORA-04091: table YUFENG.TEST is mutating, trigger/function may not see it

ORA-06512: at "YUFENG.TR_TEST", line 3

ORA-04088: error during execution of trigger 'YUFENG.TR_TEST'

任何人都可以指出错误,并告诉我如何修改密码?

对不起,我没有注意到有很多简单的错误,使查询无法运行。我的原始代码在触发器中声明变量,但我没有发布它。我想这可能就是我错误变异的原因。

CREATE or REPLACE TRIGGER TR_TEST

AFTER INSERT ON TEST

FOR EACH ROW

DECLARE a VARCHAR2(30);

BEGIN

SELECT ID INTO a FROM TEST WHERE ID=:NEW.ID;

DBMS_OUTPUT.PUT_LINE('insert successfully');

END;

/

2017-10-13

yufeng

+1

发布的代码中没有任何内容会导致触发器发生变异。显然,这不是你正在运行的代码,所以重要的是什么?这个网站上的突变表问题相当普遍。对ORA-04091的简单搜索可以返回数百个匹配结果。 –

+0

感谢您的回复。我的原始代码的问题可能与变异表问题相同。 –

oracle触发器输出信息,插入后oracle触发器打印相关推荐

  1. 安装oracle后重启电脑很卡,关于linux下安装oracle之后,重启系统后oracle不能正常启动的配置总结...

    一.linux下无法启动sqlplus 问题描述: [root@localhost oracle]# su - oracle [oracle@localhost oracle]$ sqlplus &q ...

  2. oracle 查询表里信息_查看ORACLE 数据库及表信息

    -- 查看ORACLE 数据库中本用户下的所有表SELECT table_name FROM user_tables; -- 查看ORACLE 数据库中所有用户下的所有表select user,tab ...

  3. oracle sql 输出,将数据从Oracle SQL Developer导出到Excel .xlsx

    将数据从Oracle SQL Developer导出到Excel .xlsx 我有一个小型项目,需要将Oracel SLQ Developer的数据导出到Excel(使用SLQ Developer中的 ...

  4. oracle收集统计信息和直方图,oracle统计信息和直方图

    oracle统计信息和直方图的理解[@more@]以前一直对统计信息的理解就是对行的数据分布的,提供改CBO来选择高效的执行计划.这段时间看了不少资料,对统计有了一个更清晰的认识 统计信息: 1,表中 ...

  5. oracle怎么查询和插入表,Oracle查询一个表的数据插入到另一个表

    1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert ...

  6. oracle有条件执行插入语句

    oracle有条件执行插入语句 oracle 后面跟条件进行插入操作: insert into table_name (id,name)select '1', '2'from dual where n ...

  7. ORACLE查出表所有的触发器及触发器详细信息

    ORACLE查出表所有的触发器及触发器详细信息 一.查all_triggers表得到trigger_name Sql代码 select trigger_name from all_triggers w ...

  8. oracle 触发器管理(以及行级触发器中有两个伪变量 :new 与 :old 的使用方法)(三个谓词inserting、deleting、updating的使用方法)

    oracle触发器管理: 1.概念 2.建立一个简单的触发器: 3.触发器的作用 4.触发条件 a.触发事件 b.触发时间 c.触发级别 d.触发限制 e.触发对象 5.创建及使用触发器 6.触发器分 ...

  9. ORACLE PL/SQL编程之八: 把触发器说透

    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...

最新文章

  1. 高手都这么给 Spring MVC 做单元测试!
  2. cnblogs-5个必须掌握的maven命令
  3. 卡住无法查看到所有进程_进程同步 进程互斥 软件和硬件实现方式 信号量机制 信号量机制实现进程同步,进程互斥,前驱关系...
  4. IIS托管管道模式的集成和经典
  5. 第二十三讲 解一阶微分方程组
  6. TortoiseGit for windows安装与配置
  7. 解决因为http_proxy代理导致的git clone失败的问题:OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to xxx:443
  8. 为现有的表添加自增列id并赋值
  9. TriCore处理器的上下文切换原理
  10. ubuntu文件夹建立软链接方法
  11. model.train()和model.eval()
  12. python编程之处理GB级的大型文件
  13. PSP3000终于可以放心的关机了!
  14. 打印机出现另存为xps_打印机打印文件时弹出另存为xps/pdf该怎办?
  15. SIM7600 4G at指令调试
  16. 粗糙集理解之一:基本概念
  17. 用Python实现序列帧播放器
  18. 用大白菜装centos7_大白菜安装centos7iso
  19. Channel L 自然拼读法 Teacher:Lamb
  20. 分布式ID雪花算法-解析

热门文章

  1. 西门子S7-200PLC和丹佛斯变频器的通讯协议改造_过路老熊_新浪博客
  2. oracle返回表id,Oracle 函数返回表实例2种写法实例
  3. python 10053_python 写的selenium脚本不能循环,循环时会报 [WinError 10053] 你的主机中的软件中止了一个已建立的连接。错误,求大佬解答下...
  4. Detecting noop updates
  5. CAD看图有什么技巧?怎么快速查看CAD建筑图纸?
  6. 智能小车一《arduino是什么》
  7. Qt-AES 加密与解密
  8. Error:(7, 21) java: 程序包javax.servlet不存在,Maven项目请求资源不可用
  9. 【Revit二次开发】链接模型坐标系/族坐标系与模型坐标系转换
  10. PC客户端数据分析工具Fiddler+Proxifer