我正在写一个程序,并试图做一些SQL插入查询成功状态的日志记录。 我不知道如何写如果ERR插入到错误日志表。Oracle err处理
insert into TableA (select * from TableB);
commit;
**if (show ERR <> NULL)
insert into TableErr**
任何人都可以帮我吗我该怎么做?尝试搜索,但不知道寻找什么密钥
我正在写一个程序,并试图做一些SQL插入查询成功状态的日志记录。 我不知道如何写如果ERR插入到错误日志表。Oracle err处理
insert into TableA (select * from TableB);
commit;
**if (show ERR <> NULL)
insert into TableErr**
任何人都可以帮我吗我该怎么做?尝试搜索,但不知道寻找什么密钥
它被称为“异常处理”。看看this tutorial。
除了在PL/SQL中处理错误的经典方法,如果您使用SQL加载批量数据,那么请考虑使用错误处理表。
从文档:http://docs.oracle.com/cd/E11882_01/server.112/e17120/tables004.htm#InsertDMLErrorLogging
当你使用INSERT语句与子查询,如果发生错误 装载表,声明终止和回滚其 全部。这可能浪费时间和系统资源。对于INSERT语句,您可以通过使用DML错误 日志记录功能来避免这种情况。
要使用DML错误记录,您添加指定 的成中DML操作中遇到的数据库记录 错误的错误记录表的名称声明条款。当您将此错误 日志子句添加到INSERT语句时,某些类型的错误没有 会终止并回滚该语句。相反,每个错误是 记录和声明继续。然后您在以后对 错误的行采取纠正措施。
您需要将其封闭在块中。看看这是否有帮助[链接] http://docs.oracle.com/cd/B10501_01/appdev.920/a96624/07_errs.htm – Elmer 2013-04-05 01:54:59