加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle – 怎样最小化物理DDL变动和PL / SQL变动之间的耦合/依靠

发布时间:2021-03-06 12:19:20 所属栏目:站长百科 来源:网络整理
导读:我们碰着了Oracle表界说(DDL)和我们的一个PL / SQL剧本中的特定题目. 题目是,表中有一个变动,从varchar(20)变动为varchar(30),然而,这个变动并没有在我们的一个耗损数据的PL / SQL剧本中获得充实反应,这如故是varchar(20),在我们的一个回归测试中导致ORA-065

我们碰着了Oracle表界说(DDL)和我们的一个PL / SQL剧本中的特定题目.

题目是,表中有一个变动,从varchar(20)变动为varchar(30),然而,这个变动并没有在我们的一个耗损数据的PL / SQL剧本中获得充实反应,这如故是varchar(20),在我们的一个回归测试中导致ORA-06502:PL / SQL:数字或值错误错误.

我想在这里向Oracle和数据库专家寻求提议,无论您是否在已往碰着过这样的环境,表DDL都有变革,而且没有反应在PL / SQL中以及如那里理赏罚这个差距.

我知道一种简朴的要领是某种情势的逼迫执行或文书事变,可是会不会呈现更雅观或更优雅的办理方案,即外键怎样停止插入/更新/删除非常?

感谢!

办理要领

对付初学者,您应该始终按照表中的列界说将变量声明为TYPE:

即,而不是:

dept_name  VARCHAR2(50);

行使:

dept_name  dept.dept_name%TYPE;

这样,当您的基表变动时,您的声明如故有用.

您也可以将进程参数声明为范例:

PROCEDURE proc(p1 IN dept.dept_name%TYPE)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读