在 Oracle 11g 中创建触发器时出现问题

2023-12-22

我在尝试使用 SQL Developer 在 Oracle 11g 数据库中创建触发器时遇到奇怪的错误。这是我所做的:

我的桌子:

CREATE TABLE COUNTRY_CODE(
   ID NUMBER(19,0)      PRIMARY KEY NOT NULL, 
   Code             VARCHAR2(2) NOT NULL,
   Description  VARCHAR2(50),
   created                  TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 
   created_by                   VARCHAR2(40) DEFAULT USER, 
   last_updated                 TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 
   last_updated_by          VARCHAR2(40) DEFAULT USER,
   archived CHAR(1) DEFAULT '0' NOT NULL );

序列:

CREATE SEQUENCE COUNTRY_CODE_ID_SEQ START WITH 1 INCREMENT BY 1;

触发:

CREATE OR REPLACE TRIGGER COUNTRY_CODE_TRIGGER
BEFORE INSERT ON COUNTRY_CODE
FOR EACH ROW
DECLARE
    max_id number;
    cur_seq number;
BEGIN
    IF :new.id IS NULL THEN
    SELECT COUNTRY_CODE_ID_SEQ.nextval
    INTO :new.id
    FROM dual;
ELSE
    SELECT GREATEST(NVL(MAX(id),0), :new.id)
    INTO max_id
    FROM COUNTRY_CODE;

    SELECT COUNTRY_CODE_ID_SEQ.nextval
    INTO cur_seq
    FROM dual;

    WHILE cur_seq < max_id
    LOOP
        SELECT COUNTRY_CODE_ID_SEQ.nextval
        INTO cur_seq
        FROM dual;
    END LOOP;
END IF;
END;

创建表和序列效果很好,但是当我尝试创建触发器时,出现此错误:

Error report:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [kqlidchg0], [], [], [], [], [], [], [], [], [], [], []
ORA-00604: error occurred at recursive SQL level 1
ORA-00001: unique constraint (SYS.I_PLSCOPE_SIG_IDENTIFIER$) violated
00603. 00000 -  "ORACLE server session terminated by fatal error"
*Cause:    An ORACLE server session is in an unrecoverable state.
*Action:   Login to ORACLE again so a new server session will be created

有谁知道这个错误?

Thanks


我终于找到了我的问题的答案:

添加这个:

ALTER SESSION SET PLSCOPE_SETTINGS = 'IDENTIFIERS:NONE';

或者在 Oracle SQL Developer 中:

  1. 转到工具|优先
  2. 选择数据库 | PL/SQL 编译器
  3. 将 PLScope 标识符从 All 更改为 None
  4. 单击“确定”

这解决了这个问题...

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

在 Oracle 11g 中创建触发器时出现问题 的相关文章

随机推荐

  • 从命令行构建时如何修改/替换选项集文件?

    我使用以下命令从批处理文件构建包 msbuild lib Package dproj target Build p config 1 包的设置取决于选项集
  • 在 GKE 集群中安装 Velero 时无法提取映像“velero/velero-plugin-for-gcp:v1.1.0”

    我正在尝试安装和配置 Velero 以进行 kubernetes 备份 我已遵循link https github com vmware tanzu velero plugin for gcp setup在我的 GKE 集群中配置它 安装顺
  • RabbitMQ - 用户“guest”对虚拟主机“XXX”的访问被拒绝

    我使用的是 RabbitMQ 3 0 3 版本 该服务在过去 4 5 年里运行良好 最近服务器上安装了一些更新补丁 服务停止响应 这就是正在发生的事情 RabbitMQ 服务 Windows 服务 正在运行但没有响应 在日志文件中我看到错误
  • 站点根目录的相对路径

    我觉得问这个问题很蠢 但我无法弄清楚 我发现了几个帖子 这是一个 https stackoverflow com questions 3655059 html pick images of root folder from sub fold
  • 如何在Android中从SD卡中删除图像[重复]

    这个问题在这里已经有答案了 File file new File imagePath boolean deleted file delete 使用此代码删除当前屏幕上的图像 但不会从 SDCard 中删除 所以请任何知道答案的人请发布 文件
  • 在 Jade 中保留换行符

    每当我渲染 JADE 模板时 我都会在一行中获取所有 HTML 这使得在查看源代码模式下阅读变得困难 我如何告诉 JADE 创建正确缩进的 HTML 这是我的模板 application p docs a href docs index h
  • HttpContext 标头

    我创建了这个类来从请求中获取标头值 public class AuthenticationHeader private static IHttpContextAccessor httpContextAccessor public Authe
  • Parse REST API 密钥在哪里?

    我正在按照本指南连接到 Flask 应用程序中的 Parse 服务器 https parseplatform github io docs rest guide https parseplatform github io docs rest
  • 使用列表理解调用函数列表

    我可以调用函数列表并使用列表理解吗 def func1 return 1 def func2 return 2 def func3 return 3 fl func1 func2 func3 fl 0 fl 1 fl 2 我知道我能做到 f
  • DBI SQL Server ODBC 连接中返回的数据库对象缺少字母

    不幸的是 如果不将机密信用信息共享到我遇到问题的数据库 我将无法为该问题创建良好的重现 希望下面有足够的信息来标记 ODBC 专家能够理解的任何明显问题 背景 我正在运行具有以下规格的 MacBook Pro Model Name MacB
  • 具有特定长度的 React.PropTypes 数组

    是否可以使用React PropTypes强制数组的长度 这是一个非常简单的案例 const TWO NUMBERS PropTypes array i need this to be an array of two numbers 我知道
  • 使用 Scala 的 Neo4j OGM 示例

    我尝试了 Luanne 文章中提到的例子Spring Data Neo4j 4 的本质 https www airpair com neo4j posts the essence of spring data neo4j 4在斯卡拉 该代码
  • Eclipse WTP / m2eclipse - 既不能清理也不能发布到 tomcat

    我正在 Ubuntu 11 10 64 位上的 Eclipse Indigo Java EE 大量使用 m2eclipse 中开发一个相当复杂的项目 Java Spring Maven 多模块 并带有 WAR 覆盖 直到今天早上一切都很好
  • Java哈希表具有单独的链接冲突解决方案?

    我已经使用内置的 java util hashtable 创建了一个程序 但现在我需要使用单独的链接来解决冲突 哈希表的这种实现是否可能 是否已经实现了使用单独链接的方法 看着source http www javakey net sour
  • Xcode 9.x 行复制和删除

    直到 Xcode 8 0 为止 都可以自定义 IDETextKeyBindingSet plist 文件 然而 现在看来修改此文件会导致 Xcode 停止正常运行 例如箭头键停止工作 并且似乎不再可能创建自己的快捷键 Xcode 从来没有行
  • 在 iOS 逻辑测试中使用 CocoaPods 时找不到库

    我正在尝试针对项目中的类编写一些 iOS 逻辑测试 这些类使用 podspec 中某些库的功能 我正在使用 Xcode 中提供的标准单元测试包 尽管不是应用程序测试 只是单元测试 例如 我使用 Magical Record 并且在我的 po
  • iPhone:将imageView设置在图像的透明部分

    我正在制作一个应用程序 其中用户将被允许首先选择一个相框 然后他 她必须从图库中为该相框选择 2 张照片 相框是一个包含两个透明孔的图像 其中我们有设置所选照片 他 她可以根据它们裁剪这些图像 在他 她完成裁剪后 将使用所选相框打开一个新视
  • 多线程编程C++[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • gcc 是否使用 Intel 的 SSE 4.2 指令进行文本处理(如果可用)?

    I read here https ieeexplore ieee org document 5762731英特尔推出的SSE 4 2 instructions用于加速字符串处理 引用文章中的内容 SSE 4 2指令集首先在Intel的Co
  • 在 Oracle 11g 中创建触发器时出现问题

    我在尝试使用 SQL Developer 在 Oracle 11g 数据库中创建触发器时遇到奇怪的错误 这是我所做的 我的桌子 CREATE TABLE COUNTRY CODE ID NUMBER 19 0 PRIMARY KEY NOT