存储过程中写了两个upadate.. 问题如下编译的时候提示 dj_nsrxx_kz表找不到这个表明明有的啊 而且第二个update 复制出来到sql窗口是可以正常执行的,放到存储过程中就提示表找不到了..两个UPDATE 调换下顺序 还是一样的错误,dj_nsrxx_kz表找不到求问 这是为啥呢? 谢谢  代码如下
--更新dj_nsrxx表中的数据
  UPDATE ssgladmin.dqy_jk_zb a
     set (a.nsrmc,
          a.djzclx_dm,
          a.dhhm,
          a.scjydz,
          a.dwxz_dm,
          a.fddbrmc,
          a.nsrzt_dm,
          a.nsr_swjg_dm) =
         (select b.nsrmc,
                 b.djzclx_dm,
                 b.dhhm,
                 b.scjydz,
                 b.dwxz_dm,
                 b.fddbrmc,
                 b.nsrzt_dm,
                 b.nsr_swjg_dm
            from ctais2.dj_nsrxx b
           where b.nsrsbh = a.nsrsbh)
   WHERE exists (select 1 from ctais2.dj_nsrxx b where b.nsrsbh = a.nsrsbh);  --更新dj_nsrxx_kz表中的数据
  UPDATE ssgladmin.dqy_jk_zb c
     set (c.zcdz,
          c.zcd_yb,
          c.kyslrq,
          c.hsfs_dm,
          c.sykjzd_dm,
          c.cyrs,
          c.zy,
          c.jyfw,
          c.fr_dhhm,
          c.fr_yddhhm,
          c.cwfzrmc,
          c.cwfzr_zjlx_dm,
          c.cwfzr_zjhm,
          c.cwfzr_dhhm,
          c.cwfzr_yddhhm,
          c.zczb,
          c.tzze,
          c.cwbbzl) =
         (select kz.zcdz,
                 kz.zcd_yb,
                 kz.kyslrq,
                 kz.hsfs_dm,
                 kz.sykjzd_dm,
                 kz.cyrs,
                 kz.zy,
                 kz.jyfw,
                 kz.fr_dhhm,
                 kz.fr_yddhhm,
                 kz.cwfzrmc,
                 kz.cwfzr_zjlx_dm,
                 kz.cwfzr_zjhm,
                 kz.cwfzr_dhhm,
                 kz.cwfzr_yddhhm,
                 kz.zczb,
                 kz.tzze,
                 kz.cwbbzl 
            from ctais2.dj_nsrxx_kz kz           where kz.nsrdzdah = c.nsrdzdah)
   WHERE exists
   (select 1 from ctais2.dj_nsrxx_kz kz where kz.nsrdzdah = c.nsrdzdah);

解决方案 »

  1.   

    grant select on ctais2.dj_nsrxx_kz to <current user or public>Do not grant the access right to role instead of user, which will raise an error when compiling the procedure.
      

  2.   

    你好 我已经给用户赋予了一个角色 这个角色有 select any table的权限
    不可以嘛?
      

  3.   

    谢谢楼主果然是没有select 这个表的权限 grant之后问题解决 谢谢