Oracle 10gR2 触发错误

Posted

技术标签:

【中文标题】Oracle 10gR2 触发错误【英文标题】:Oracle 10gR2 trigger error 【发布时间】:2010-08-03 06:11:22 【问题描述】:

我有 Oracle 10gR2。我正在尝试创建自动增量触发器。 这是示例:

CREATE SEQUENCE TEST_SEQ
INCREMENT BY 1
START WITH 1
NOMAXVALUE
/
CREATE TABLE TESTER  (
ID_TESTER INTEGER NOT NULL,
   VAL VARCHAR2(20) NOT NULL
)
/
CREATE OR REPLACE TRIGGER TIB_TESTER BEFORE INSERT
ON TESTER FOR EACH ROW 
BEGIN
SELECT TEST_SEQ.NEXTVAL 
INTO :NEW.ID_TESTER
FROM DUAL;
END;
/

触发器创建给出警告:

警告:ORA-24344:成功 编译错误

当我得到错误值时:

select OCI_SUCCESS_WITH_INFO;
/

报错:

错误:ORA-00923:FROM 关键字不是 在预期的地方找到

【问题讨论】:

【参考方案1】:

您使用什么客户端来发出这些命令? ORA-24344 是一个奇怪的错误。

在 SQL*PLus 中,我们可以获得更多关于编译错误的信息,如下所示:

SQL>  show errors

至于 ORA-00923 错误,那是因为在 Oracle 的 SQL 版本中,我们总是必须从表中进行选择。所以你应该执行

select OCI_SUCCESS_WITH_INFO
from dual
/

我不确定这有多大意义,但至少你不会得到错误。


“这是 Navicat 的问题”

这并不让我感到惊讶,因为我在我的数据库上运行了您的代码,并且它顺利构建。

【讨论】:

我正在使用 Navicat SQL for MAC OS X,最新版本 非常感谢。这是 Navicat 的问题。【参考方案2】:

也许它对某人有用:

如果您使用 Oracle 10g 和 OCI 驱动程序,ORA-24344 会显示触发器在代码中具有回车符 (\r) 时,例如。文件是使用 Windows 行尾样式创建的。

【讨论】:

以上是关于Oracle 10gR2 触发错误的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 11gR2 RAC连接时ORA-12545错误

Oracle Study之-AIX6.1构建Oracle 10gR2 RAC

Oracle Study之-AIX6.1构建Oracle 10gR2 RAC

windows2008R2安装Oracle10gr2教程

oracle数据库11gr2安装进度8%闪退

Oracle安装过程出现问题---------安装Oracle11gR2先决条件检查失败