回答

收藏

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

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

在编码另一个存储过程时,如何在不指定完整模式名称的情况下在同一模式中调用存储过程。这些是DB2中的SQL PL过程。  j0 S+ j* A% `' O0 d8 y: S6 O/ [
第一个SP:
3 b5 [; n& Y+ j6 kCREATE PROCEDURE MYSCHEMA.SP_TEST  LANGUAGE SQL  BEGIN  END没有模型名称的创建直接调用SP的SP会导致编译错误:  |( V' c- B% G/ _- g, C
CREATE PROCEDURE MYSCHEMA.SP_TEST2  LANGUAGE SQL  BEGIN    CALL SP_TEST();  END它将抛出:# C2 \' T. h& x! R# {
找不到兼容参数的名字叫 PROCEDURE授权例程 SP_TEST”。SQLCODE = -440,SQLSTATE =/ \: d/ \& p4 d# B6 A+ o( |
42884,DRIVER = 3.53.71
& \3 v: e: w/ G# y( E5 _  K
可以直接给出完整的架构名称:0 k0 d. V- h3 S5 Z" v8 Q) V; d
CREATE PROCEDURE MYSCHEMA.SP_TEST2  LANGUAGE SQL  BEGIN    CALL MYSCHEMA.SP_TEST();  END但是,如果我改用其他结构,我必须到处替换这个引用。是否有合适的解决方案或更好的解决方案?6 B+ u8 B- x! B' x1 Y
                                                               
2 T* B8 N) w2 u    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则