回答

收藏

从SP调用同一模式内的存储过程

技术问答 技术问答 232 人阅读 | 0 人回复 | 2023-09-12

在编码另一个存储过程时,如何在不指定完整模式名称的情况下在同一模式中调用存储过程。这些是DB2中的SQL PL过程。  R5 l3 o. m- @7 ~* q) ^
第一个SP:6 F# l& e) P/ x3 A1 q6 _
CREATE PROCEDURE MYSCHEMA.SP_TEST  LANGUAGE SQL  BEGIN  END没有模型名称的创建直接调用SP的SP会导致编译错误:
6 x/ F% F. r# q; J. a2 L, C# a) K6 @CREATE PROCEDURE MYSCHEMA.SP_TEST2  LANGUAGE SQL  BEGIN    CALL SP_TEST();  END它将抛出:
% K3 ?6 X# n; }找不到兼容参数的名字叫 PROCEDURE授权例程 SP_TEST”。SQLCODE = -440,SQLSTATE =
. Z) h' z4 s0 w, ]. n% R) V: ]; P42884,DRIVER = 3.53.71, ^$ n) p0 v3 O% a0 O5 _2 P! `
可以直接给出完整的架构名称:
0 d& R3 \' h& u( R' @! W: g& vCREATE PROCEDURE MYSCHEMA.SP_TEST2  LANGUAGE SQL  BEGIN    CALL MYSCHEMA.SP_TEST();  END但是,如果我改用其他结构,我必须到处替换这个引用。是否有合适的解决方案或更好的解决方案?
5 m5 }5 Q/ `1 k1 F: P                                                                8 @+ T9 `- S! L. L# @
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则