【发布时间】:2012-01-23 12:34:19
【问题描述】:
我正在尝试将数据插入 oracle 数据库(版本 11g xe)。但是当我尝试使用 toad 执行该过程时,我收到错误为“ORA-01403:未找到数据”。 这是我的代码
CREATE OR REPLACE PROCEDURE ACTSINFO.sp_Insert_WorkDetails
(p_workname IN varchar ,
p_workaddress IN varchar)
IS
BEGIN
insert into workdetails (workname,workaddress) values (p_workname,p_workaddress);
END sp_Insert_WorkDetails;
我尝试使用以下语句执行该过程
EXEC sp_Insert_WorkDetails('test','test');
我还为表 workdetails 中 workdetailsid 的自动增量定义了触发器和序列
顺序如下
ALTER SEQUENCE ACTSINFO.WORKDETAILS_WORKID_SEQ
INCREMENT BY 1
MINVALUE 0
MAXVALUE 9999999999999999999999999999
NOCACHE
NOCYCLE
NOORDER
触发如下
DROP TRIGGER ACTSINFO.WORKDETAILS_INSERT;
CREATE OR REPLACE TRIGGER ACTSINFO.WORKDETAILS_INSERT
BEFORE INSERT
ON ACTSINFO.WORKDETAILS
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
SELECT WORKDETAILS_WORKID_SEQ.NEXTVAL INTO :NEW.WORKID FROM WORKDETAILS;
END;
我是 oracle 新手。请帮助我...
【问题讨论】:
-
除非在该表上定义了
TRIGGER,否则我看不出如何引发此异常。你能检查一下吗?您是否获得异常的堆栈跟踪? -
是的,我已经在 workdetails 中定义了一个用于自动增加 workdetailsid 的触发器
标签: oracle