首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle proc通过dblink使用另一个表更新

oracle proc通过dblink使用另一个表更新
EN

Stack Overflow用户
提问于 2019-11-27 00:58:00
回答 1查看 138关注 0票数 1

在运行存储过程时,我一直会遇到这个执行错误。它应该从表1中选择一些值到几个变量中,使用使用db链接的select中的值,并从该链接的db表2中获取一个值,然后更新第一个表。

错误执行(1: 2):ORA-01403:没有数据找到ORA-06512: at "ASSGN_OF_ID",行24 ORA-06512:在第1行。

代码语言:javascript
复制
CREATE OR REPLACE PROCEDURE ASSGN_OF_ID
IS
  v_transID varchar2 (30);
  v_person_id NUMBER (12);
  v_long_id NVARCHAR2 (15);
  v_tranactions_date date;
  v_assgn_id varchar2 (30);
  v_t_emp_id varchar2 (30);
BEGIN
  select max(transID) into v_transID from tranactions;
--
  select personid, tranactionsdtm into v_person_id, v_tranactions_date
  from tranactions
  where transID = v_transID;
--
  select lirrnum into v_long_id
  from ptsadmin.person
  where personid = v_person_id;
--
  select emp_mstr_id into v_t_emp_id
  from wok.emp_mstr@T_DBLINK
  where emp_nbr = v_long_id;
--
  select asgn_id into v_assgn_id
  from wok.slip_mstr@T_DBLINK
  where emp_mstr_id = v_t_emp_id
  and trunc(v_tranactions_date) = trunc(eff_date_time);
--
  update tranactions set t_asgn_id = v_assgn_id where transID = v_transID;
--
  COMMIT;
END;

它会在这条线上被阻止

代码语言:javascript
复制
select emp_mstr_id into v_t_emp_id
from wok.emp_mstr@T_DBLINK
where emp_nbr = v_long_id;

如果前面的行运行,如果我用预定义的值运行语句,我看不出数据是如何运行的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-29 14:47:36

DBMS_OUTPUT.PUT_LINE()告诉我出了什么问题,愚蠢的我,谢谢大家

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59061553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档