存储过程语句如下,用途为同步两个数据表,正常还有同步条件,但由于主要问题不在那里,所以略过,目前遇到的问题是将Begin与End中的语句块单独提取出来运行无问题,但放在存储过程中调用DBLink中的数据表时就提示“表或视图不存在”,存储过程语句如下:CREATE OR REPLACE  PROCEDURE "UserName"."Sync_AAAA" ( 
    SyncDate CHAR ) Is
Begin
    Insert into UserName.AAAA
    (
    BAR_CODE
    )
    Select 
    BAR_CODE
    From AAAA@MYLink
End;本来准备将同步语句放在存储过程中,然后用JOB调用,结果现在建立存储过程就出现错误,不知道大家在同步远程数据表时还有什么更好的方法~谢谢

解决方案 »

  1.   

    直接存储过程里面
    var_rec AAAA%ROWTYPE;
    select * into var_rec from AAAA@MYLink where some_distinct_id = some_value;
    能不能编译通过啊
      

  2.   

    不能,会提示表或视图不存在~然后在网上查了下,好像好多遇到这种问题的,但没有具体的解决方法,郁闷ing~
      

  3.   

    表名加引号(dblink的是oracle表) 注意大小写
      

  4.   

    我觉得是你引用数据表时,引号用有问题。你试一下"UserName".Sync_AAAA或"UserName.Sync_AAAA"。如果是其它服务器上的数据表,可以试一下"ip"."UserName".Sync_AAAA