变异,触发器/函数可能看不到它 - 触发器执行期间出错

2023-12-04

CREATE OR REPLACE TRIGGER UPDATE_TEST_280510
AFTER insert on TEST_TRNCOMPVISIT
declare
V_TRNCOMPNO NUMBER(10);

CURSOR C1 IS SELECT B.COMPNO FROM TEST_TRNCOMPVISIT A, TEST_TRNCOMPMST B, 
                                  TEST_MEMMAST C
WHERE A.COMPNO=B.COMPNO 
AND B.TRNMEMID=C.MEMID 
AND C.MEMOS>=1000;

begin
open c1;
fetch c1 into V_TRNCOMPNO;


UPDATE TEST_TRNCOMPMST SET COMPSTATUS='P',
       remark='comp is pending due to O/S>1000'
WHERE COMPNO=V_TRNCOMPNO AND COMPSTATUS='C';
CLOSE C1;

end;

我已经制作了这个触发器,当在表 TEST_TRNCOMPVISIT 中插入行时,它给出了以下错误 -

出现以下错误:

ORA-04091: 表 TEST.TEST_TRNCOMPVISIT 正在发生变化,触发器/函数可能看不到它
ORA-06512: 在“TEST.UPDATE_TEST_280510”,第 4 行
ORA-06512: 在“TEST.UPDATE_TEST_280510”,第 10 行
ORA-04088: 执行触发器“TEST.UPDATE_TEST_280510”期间出错


当定义为 FOR EACH ROW 的触发器尝试访问为其触发的表时,会引发“表正在发生变化”异常。 Tom Kyte 写了一篇关于此异常的原因和解决方案的精彩指南here.

在您发布的示例中,您没有 FOR EACH ROW,因此我不希望引发异常。通常,只有在需要访问每一行的 :OLD 或 :NEW 值(但您不需要)的情况下才需要使用 FOR EACH ROW 触发器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

变异,触发器/函数可能看不到它 - 触发器执行期间出错 的相关文章

  • ClassCastException:java.util.Date 无法转换为 java.sql.Date

    你好 我的代码抛出了ClassCastException StackTrace 显示 java lang ClassCastException java util Date cannot be cast to java sql Date a
  • 如何在sqlite中创建物化视图?

    我对物化视图和 SQLite 进行了无数次搜索 据我所知 2004 年和 2006 年似乎有人提到 SQLite 没有物化视图 紧随其后的是 SQLite 的变更日志2008年3月 http www sqlite org releaselo
  • 将 UPDATE 转换为 INSERT INTO ON DUPLICATE KEY UPDATE 语句

    我有这个 UPDATE MySQL 语句 效果很好 UPDATE table1 Inner Join table2 ON table2 id table1 gw id SET table1 field1 1 table1 field2 2
  • 授予用户在查询时使用表索引的什么?

    我想知道当用户从表中查询数据并且该用户已被授予以下权限时 oracle 是否使用索引 grant select on table to user 我想知道是否需要其他拨款才能使用索引 不 没有要求 或能力 授予对索引的访问权限 如果用户可以
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • 创建表作为 select 删除 postgresql 中的非空约束

    在 postgres sql 中 创建表时 select 删除了表上的非空约束 例如 对此没有单一命令的解决方案 要基于现有表 包括所有约束 创建表 请使用 create table B like a including constrain
  • 模式更新后 jOOQ 生成的类的运行时验证?

    我用org jooq util DefaultGenerator在构建过程中生成 jOOQ 类来表示我的数据库模式 当应用程序运行时 架构预计会在应用程序不知情的情况下发生更改 此类更改可能与已生成的代码兼容 也可能不兼容 如何在运行时检测
  • 限制 SQL Server 连接到特定 IP 地址

    我想将 SQL Server 实例的连接限制为特定 IP 地址 我想阻止来自除特定列表之外的任何 IP 地址的任何连接 这是可以在 SQL Server 实例或数据库中配置的东西吗 听起来像是你会使用Windows防火墙 http tech
  • T-SQL:如何使用 SELECT 创建表?

    在 oracle 中 您可以发出 create table foo as select from bar 等效的 T SQL 语句是什么 您可以使用SELECT INTO http msdn microsoft com en us libr
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • 如何在 Hibernate 中自动递增复合主键中的 Id?

    我有一个带有复合主键的表 groupId and batchId 实体类看起来像 Entity name EMPLOYEE public class Employee EmbeddedId private EmployeePK employ
  • 复选框上的数据绑定

    我目前正在将数据从 SQL 数据库之一提取到我的应用程序中 我可以让它适用于我的文本框和其他项目 但是 我似乎无法让它适用于复选框 这是我正在使用的代码 DataTable dt new DataTable dt using SqlConn
  • 如何使用PostGIS将多边形数据转换为线段

    我在 PostgreSQL PostGIS 中有一个多边形数据表 现在我需要将此多边形数据转换为其相应的线段 谁能告诉我如何使用 PostGIS 查询进行转换 提前致谢 一般来说 将多边形转换为线可能并不简单 因为没有一对一的映射 http
  • 如何将可视选择的文本通过管道传输到 UNIX 命令并将输出附加到 Vim 中的当前缓冲区

    使用 Vim 我尝试将在可视模式下选择的文本通过管道传输到 UNIX 命令 并将输出附加到当前文件的末尾 例如 假设我们有一个 SQL 命令 例如 SELECT FROM mytable 我想做如下的事情
  • 拆分列中的字符串并在列中添加值

    我有一个包含几行数据的表 如下所示 16 W 2 Work ALBO 00 Proposal ALxO Amendement 1 20091022 signed pdf 17 W 2 Work ALBO 00 Proposal Level1
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • Oracle TDE 能否保护数据免受 DBA 的侵害?

    甲骨文专家 我的客户想要部署一个必须在数据库中保存信用卡号的应用程序 客户显然很关心安全性 我们特别关注一个令人痛苦的问题 我们如何确保只有具有 业务需要知道 的授权用户才可以访问数据 我们如何保护数据免受 DBA 的侵害 一个明显的解决方
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将

随机推荐

  • 如何使用 SOCK_DGRAM 制作双向 unix 域套接字?

    我正在尝试编写一个简单的 Unix 数据报服务器 客户端 但遇到了一些问题 我想要的是一个监听数据报套接字并向原始发送者发送对收到的每条消息的回复的服务器 我决定先尝试使用socat成为 服务器 并用 C 编写客户端 我像这样运行 soca
  • Swagger UI 为空并给出 403

    我正在使用 Spring Boot 并且已将 swagger 添加到我的依赖项中
  • 如何将旧日志文件导入graylog作为输入?

    我能够设置灰色日志服务器和graylog web 并能够在 apache2 tomcat 和其他应用程序的帮助下设置生成日志的输入灰色日志收集器 e g apache access type file path var log apache
  • Mac OSX 在构建 MonoDevelop iOS 应用程序时要求钥匙串访问

    在 Mac 上的 MonoDevelop 中构建项目时 我收到消息 MAC OS X 想要进行更改 请键入管理员的名称和密码以允许此操作 MAC OSX 想要使用系统钥匙串 我找到了帖子Mac OS X 想要在编译项目时使用系统钥匙串但这并
  • 程序集 x86 NASM - 避免读取返回键

    我刚刚开始学习汇编 但没有找到任何有帮助的有用内容 我正在创建一个简单的程序来读取用户输入 基本上 section bss opA resw 1 opB resw 1 section text global start inputA mov
  • 如何将 16 位 wav 转换为原始音频

    我正在尝试使用 sox 将星号语音邮件转换为原始音频 原始wav的编码信息是PCM S16 LE 所以我想我可以这样做sox msg0000 wav msg0001 raw但其中的原始文件是乱码 根据 VLC 的说法 与 6 秒的源文件相比
  • 上传具有多种变体选项的新产品

    我正在尝试通过 ruby 而不是使用 Rails 上传产品 我已通过 API 上传了 100 多个产品 但我无法上传具有多个选项值的产品 即使我分配三个选项值 它也不会填充其他两个 这是脚本 require shopify api requ
  • NSArray initWithObjects: 是否保留对象?

    当使用 initWithObjects 将对象添加到 NSArray 时 任何人都可以为我确认这些项目被保留 我很确定它们是 但是找不到有关 initWithObjects 的任何地方提到它 CREATE DRINKS Coffee dri
  • 从 httpsession 检索浏览器区域设置?

    是否可以从 httpsession 对象 javax servlet http HttpSession 派生首选语言 可以从 servletrequest 中获取它 但我没有 感谢您的任何想法 斯文 用户的首选区域设置可作为请求标头 Acc
  • 在 Oracle DB 的 CLOB 字段中存储文件

    我的 oracle 表中有一个具有 CLOB 数据类型的列 如何在此列中存储 txt 文件以及如何检索同一文件 下面是表定义 fileID Number logFile CLOB 提前致谢 在 PL SQL 中将文件加载到 CLOB 中非常
  • 在R中逐行读取大文件而不带标题

    我在 R 中有一个非常大的数据文件 千兆 如果我尝试用 R 打开它 我会收到内存不足错误 我需要逐行读取文件并进行一些分析 我发现了一个关于这个问题的上一个问题 其中文件是由 n 行读取并跳转到带有 clump 的某些行 我已经使用了 Ni
  • Protractor:如何让配置文件更加灵活?

    我有一个想法让我的配置更加灵活 例如我有 10000 个具有相同参数的配置文件 seleniumAddress http localhost 4444 wd hub specs C Users Lilia Sapurina Desktop
  • 找不到经过训练的 NLU 模型(Actions on Google)

    我们正在使用 google SDK 上的 Actions 开发启动 我们迁移了我们的开发项目 UAT 突然它停止工作了 以前我们使用相同的方法并且每次都有效 机器人对初始短语响应一次 然后停止响应 它说抱歉 机器人名称 没有响应 请稍后再试
  • 如何在 Android 上打印堆栈跟踪(带有符号函数名称)?

    这个问题已经被问过很多次了 但从未得到真正的答案 今天我花了 5 到 6 个小时尝试将一些库移植到 Android libunwind liwdfl 这些库可能从未打算在 ARM 上运行 当然 无济于事 问题是Android缺少backtr
  • 当MySql数据库中添加新记录时,使用Jquery自动更新Div

    我正在为我的朋友制作一个社交网站 我想知道当数据库中添加新记录时 如何更新包含数据库中少量插入记录的 Div 简而言之 你一定见过 Facebook 的实时通知 当有人做某事时 这些通知就会淡出 这一切都发生在没有刷新整个实时通知 div
  • 以编程方式检查 SD 卡是否可用

    我的应用程序适用于仅具有 SD 卡的手机 因此 我想以编程方式检查 SD 卡是否可用以及如何找到 SD 卡可用空间 是否可以 如果是 我该怎么做 Boolean isSDPresent android os Environment getE
  • 在 Windows 中托管 Git 存储库

    目前是否有办法在 Windows 中托管共享 Git 存储库 据我所知 您可以使用以下命令在 Linux 中配置 Git 服务 git daemon 是否有本地 Windows 选项 缺少共享文件夹 来托管 Git 服务 编辑 我目前正在使
  • 创建两列无​​序列表

    我希望制作一个类似于下面的两列无序列表 但也想知道如何整合加号的图像 我正在寻找一种没有 CSS3 优点的解决方案 以便它可以支持较旧的浏览器 这是我的网站的链接 http jobspark ca job listings 由于我正在使用
  • magento 的 NGINX-FPM 配置设置

    我正在运行一个用 magento 开发的电子商务网站 我的服务器有 512mb RAM 和 2 6 core2duo 当我在网站上一次发送 50 个请求时 除了少数请求外 它不会响应 我也安装了清漆 我想知道我想要为我的网站进行的最佳设置
  • 变异,触发器/函数可能看不到它 - 触发器执行期间出错

    CREATE OR REPLACE TRIGGER UPDATE TEST 280510 AFTER insert on TEST TRNCOMPVISIT declare V TRNCOMPNO NUMBER 10 CURSOR C1 I