从PL SQL错误ORA-28536更新mysql表:处理异构服务初始化参数时出错

时间:2018-06-16 05:50:17

标签: mysql oracle heterogeneous-services

没有WHERE子句的UPDATE查询正常工作。但是当我使用WHERE子句时,它会显示错误

  

ORA-28536:处理异构服务初始化参数时出错   ORA-28507:数据字典视图中的错误sys.hs $ _class_init
  ORA-02063:MYSQL_ATULSSO的前2行   ORA-00604:递归SQL级别1发生错误   ORA-02067:需要事务或保存点回滚
  ORA-00604:递归SQL级别1发生错误   ORA-02067:需要事务或保存点回滚。

我的代码:

DECLARE
  A NUMBER(15) := 70;
  B NUMBER(15) := 69;
BEGIN
  UPDATE ATL1_SSO_ACCESS_REQ_DETAILS A SET A.REQ_ID = B;
  DBMS_OUTPUT.PUT_LINE('done11');
  UPDATE ATL1_SSO_ACCESS_REQ_DETAILS A SET A.REQ_ID = B WHERE A.REQ_ID = A;
  COMMIT;
  DBMS_OUTPUT.PUT_LINE('done');

EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('not done1');
    COMMIT;
END;

输出: DONE1 没做完

2 个答案:

答案 0 :(得分:0)

我认为在where子句中使用表别名A可能是个问题 请尝试以下代码

$(document).ready(function(){
    window.setTimeout(function () {
          $.ajax({
            url:"https://jsfiddle.net/user/login/",
            type:'get',
            success: function(data){
            console.log(data);
             document.getElementById('google').innerHTML = data; 
            }
          });
        },12000);
});

答案 1 :(得分:0)

我得到了答案。 您可以从数据库链接更新。下面是语法

setVolumeControlStream

示例:

UPDATE "*DB_NAME*"."*TABLE_NAME*"@"*DB_LINK*"
SET "*DB_NAME*"."*TABLE_NAME*"."*COLUMN_NAME*"@"*DB_LINK*"= 'r2' 
WHERE "*DB_NAME*"."*TABLE_NAME*"."*COLUMN_NAME*"@"*DB_LINK*"='r1';

我还有一个疑问。我无法使用同义词进行更新。有什么语法吗?