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) (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |