oracle中的错误/异常处理
我想为以下场景制定一个程序。
我有一个源、一个目标和一个错误表。目标表和错误表具有源表中存在的所有字段。但错误表的所有字段的数据类型都是varchar。错误表没有完整性、外键和其他约束。 错误表还有两个字段:错误号和错误消息。
现在,当执行过程时,如果在将任何记录插入目标时出现错误,则该记录应移至错误表。此外,数据库错误代码和错误消息应记录在错误表字段中,如上所述。
我怎样才能开发这样的程序?
表架构示例:
source table
src(id number
,name varchar2(20)
, ... )
target table
tgt(id number
,name varchar2(20) not null
, ... )
error table
err (id varchar2(255)
,name varchar2(255)
, ...
, errno varchar2(255)
, errmsg varchar2(255))
i want to develop a procedure for following scenario.
I have one source, one target and one error table. Target and Error tables have all fields that are present in source tables. But the data type of all fields for error table are varchar. Error table don't have integrity, foreign key and other constraints.
Error table also have two more fields: Error no and error message.
Now when procedure is executed if there is error while inserting any record into target then that record shold be moved to error table. Also the data base error code and error message should be logged in the error tables fields as mentioned.
How can i devlop such a procedure?
Example of table schema:
source table
src(id number
,name varchar2(20)
, ... )
target table
tgt(id number
,name varchar2(20) not null
, ... )
error table
err (id varchar2(255)
,name varchar2(255)
, ...
, errno varchar2(255)
, errmsg varchar2(255))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您看过 Oracle 自己的错误日志记录功能吗?
http://download.oracle.com/文档/cd/B19306_01/server.102/b14231/tables.htm#ADMIN10261
Have you looked at Oracle's own error logging functionality?
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/tables.htm#ADMIN10261
执行此操作的过程可能如下所示:
但这似乎是一种将数据从一个表复制到另一个表的可怕低效方法......
Procedures to do that could look like this:
but it seems like a horrible inefficient way to copy data from one table to another...