ORA-00604: 递归SQL级别1出现错误, ORA-02067:要求事务处理或保存回退点

问题描述

ORA-00604: 递归SQL级别1出现错误, ORA-02067:要求事务处理或保存回退点

报的错如题:
ORA-00604: 递归SQL级别1出现错误
ORA-02067:要求事务处理或保存回退点

A服务器oracle建立dblink,存储过程的内容是:往B服务器中oracle的表里插入数据。 在客户端访问调用此存储过程的时候报以上错误。

目前为了报错不显示在客户端只能用rollback,但是这样的话数据就插入不进去了。

代码如下,请大神们帮帮忙:

 --【游标查询/插入】
declare
CURSOR c_job IS
     select ID,AuditP,AuditD,AuditIdea from LX_YW_ProjectInfoD2
     where ToRow_guid=Row_guid and ID not in(select GUOCHENG_ID from TA_SP_GUOCHENG@LXZJJZW where INSTANCE_ID=IDKey);
c_row c_job%rowtype;
BEGIN
     for c_row in c_job loop

         select st_name into Audit_P from sys_staffdef where st_id=c_row.AuditP;
         --
         insert into TA_SP_GUOCHENG@LXZJJZW
         (GUOCHENG_ID,INSTANCE_ID,TACHE_NO,TACHE_NAME,TRANSACTOR_NAME,TRANSACT_IDEA,TRANSACT_TIME,REMARK,CREATE_DATE,LAST_UPDATETIME,DATA_SOURCE,IS_EXCHANGE,SYSTEM_SOURCE)
         select
         ID,SHILI_ID,GC_Code,GC_Name,Audit_P,AuditIdea,AuditD,'',Now_Date,Now_Date,'XXXX','N','2'
         from LX_YW_ProjectInfoD2 where ToRow_guid=Row_guid and ID=c_row.ID;

     end loop;

END

commit;
exception  when others then   rollback;

解决方案

http://zhidao.baidu.com/link?url=KYaP9LfMT2RmJEOV6NL-inPeLOlg3HUi6mgEqNNQKY20Suxmd35FLi53s8JM9ujNuuY0peQn9hCHJaXPX9xIZa

解决方案二:

http://blog.itpub.net/19602/viewspace-1054719/

时间: 2024-12-01 01:07:22

ORA-00604: 递归SQL级别1出现错误, ORA-02067:要求事务处理或保存回退点的相关文章

在SQL Server2005中进行错误捕捉

任何程序都可能出现错误,在SQL Server中执行Transact-SQL也不例外.如果在Transact-SQL中发生了错误,一般有两种捕捉错误的方法,一种是在客户端代码(如C#.Delphi等)中使用类似try...catch的语句进行捕捉:另外一种就是在Transact-SQL中利用Transact-SQL本身提供的错误捕捉机制进行捕捉.如果是因为Transact-SQL语句的执行而产生的错误,如键值冲突,使用第一种和第二种方法都可以捕捉,但是如果是逻辑错误,使用客户端代码进行捕捉就不太

[转]在SQL Server2005中进行错误捕捉

原文:http://www.cnblogs.com/nokiaguy/archive/2008/05/09/1190551.html    任何程序都可能出现错误,在SQL Server中执行Transact-SQL也不例外.如果在Transact-SQL中发生了错误,一般有两种捕捉错误的方法,一种是在客户端代码(如 c#.delphi等)中使用类似try...catch的语句进行捕捉:另外一种就是在Transact-SQL中利用Transact-SQL本身提供的错误捕捉机制进行捕捉.如果是因为

PostgrSQL 递归SQL的几个应用 - 极客与正常人的思维

标签 PostgreSQL , with recursive , 递归查询 , 求差 , 求唯一值 , 求稀疏列 , 求时序数据最新值 背景 递归SQL的几个应用 递归查询,在几个场景的应用,有十全大补丸的功效. 一.求唯一值 场景 某张表,数据量在亿级别,求某稀疏列的唯一值. create table sex (sex char(1), otherinfo text); create index idx_sex_1 on sex(sex); insert into sex select 'm'

SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)_MsSql

关于SQLSERVER 9003错误解决方法 只适用于SQL2000: "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft SQL Server,错误: 9003)" 看是9003错误,就想到可能是由于日志文件的原因,再看数据库文件可能损坏,于是想到dbcc checkdb指令. 方法如下: 1.我们使用默认方式建立一个供恢复使用的数据库(如pos).可以在SQL Server Enterprise Manager里面建立. 2.停掉数据库服务

SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)

关于SQLSERVER 9003错误解决方法 只适用于SQL2000: "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft SQL Server,错误: 9003)" 看是9003错误,就想到可能是由于日志文件的原因,再看数据库文件可能损坏,于是想到dbcc checkdb指令. 方法如下: 1.我们使用默认方式建立一个供恢复使用的数据库(如pos).可以在SQL Server Enterprise Manager里面建立. 2.停掉数据库服务

深入理解SQL Server 中的错误处理

大多数迭代语言编译器都有内置的错误处理程序(例如,TRY-CATCH语句),开发者们在设计代码的时候可以利用它们.虽然SQL Server 2000的开发者不能够像迭代语言的开发者那样利用内置的工具,但是他们可以用系统变量@@ERROR来设计自己有效的错误处理工具. 引入事务 为了能够掌握在SQL Server 2000中错误处理是如何工作的,你必须首先要理解数据库事务的概念.在数据库术语中,事务就是指作为一个单独的工作单位出现的一系列语句.举个例子来说,假设你有三个语句要执行,事务就可以这样被

依赖-安装SQL,出现WMI错误

问题描述 安装SQL,出现WMI错误 安装SQL2008 出现WMI错误,依赖服务或组无法启动,求帮助!急!!!!!!!! 解决方案 http://q.cnblogs.com/q/34444/不知能不能解决. 解决方案二: 是不是之前安装的sql数据库没有卸载干净 解决方案三: 看下系统应用程序日志,看看有什么错误 解决方案四: 看看注册表, 是不是以前的sql数据库没有卸载干净

date-java Date转换成sql Date出现时间错误的问题

问题描述 java Date转换成sql Date出现时间错误的问题 SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd"); java.util.Date d = null; d = format.parse(newsDate); java.sql.Date date = new java.sql.Date(d.getTime()); 代码是这样的. java Date数据格式是 2015-10-08 09:21:33

web开发-动态sql实现模糊查询错误

问题描述 动态sql实现模糊查询错误 public List findByCondition(String readerTypeId, String barcode, String name, final int page, final int pageSize) throws DAOException { final List params = new ArrayList(); final String hql = createFindHQL(readerTypeId, barcode, na