2011-10-14 对变量的引用
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,http://www.itpub.net/thread-1499223-5-1.html46 楼星期一我写了这个存储过程:CREATE OR REPLACE PROCEDURE plch_show_a
千家信息网最后更新 2025年02月02日2011-10-14 对变量的引用
http://www.itpub.net/thread-1499223-5-1.html
46 楼
星期一我写了这个存储过程:
CREATE OR REPLACE PROCEDURE plch_show_amounts ( amount1_in IN NUMBER, amount2_in IN NUMBER)ISBEGIN DBMS_OUTPUT.put_line ( TO_CHAR (plch_show_amounts.amount1_in, 'FML999G999D99')); DBMS_OUTPUT.put_line ( TO_CHAR (plch_show_amounts.amount2_in, 'FML999G999D99'));END;/
星期二,我有个同事觉得自己比任何人都知道该如何写好代码,他批评过程中出现的重复代码。"你为什么不把重复的代码放到一个嵌套的子过程?那样的话,假如你需要修改显示格式,或者其他和显示金额相关的东西,你只需修改一个地方。"
好吧,我也没法反对。所以我把代码移入一个嵌套的子过程。实际上,我在推出一个能使用的程序版本之前也这么干过几次。
下面的选项中哪些包含了一个对原始的plch_show_amounts的"重构",从而在我执行这段代码之后:
BEGIN plch_show_amounts (100.45, 452666.77);END;/
我在屏幕上会看到这样的输出:
$100.45$452,666.77
(A)
CREATE OR REPLACE PROCEDURE plch_show_amounts ( amount1_in IN NUMBER, amount2_in IN NUMBER)IS PROCEDURE show_one (amount_in IN NUMBER) AS BEGIN DBMS_OUTPUT.put_line ( TO_CHAR (amount1_in, 'FML999G999D99')); END;BEGIN show_one (plch_show_amounts.amount1_in); show_one (plch_show_amounts.amount2_in);END;/
SQL> BEGIN 2 plch_show_amounts (100.45, 452666.77); 3 END; 4 /¥100.45¥100.45PL/SQL procedure successfully completedSQL>
(B)
CREATE OR REPLACE PROCEDURE plch_show_amounts ( amount1_in IN NUMBER, amount2_in IN NUMBER)IS PROCEDURE show_one (amount_in IN NUMBER) AS BEGIN DBMS_OUTPUT.put_line ( TO_CHAR (amount_in, 'FML999G999D99')); END;BEGIN show_one (plch_show_amounts.amount1_in); show_one (plch_show_amounts.amount2_in);END;/
SQL> BEGIN 2 plch_show_amounts (100.45, 452666.77); 3 END; 4 /¥100.45¥452,666.77PL/SQL procedure successfully completedSQL>
(C)
CREATE OR REPLACE PROCEDURE plch_show_amounts ( amount1_in IN NUMBER, amount2_in IN NUMBER)IS PROCEDURE show_one (amount1_in IN NUMBER) AS BEGIN DBMS_OUTPUT.put_line ( TO_CHAR (amount1_in, 'FML999G999D99')); END;BEGIN show_one (plch_show_amounts.amount1_in); show_one (plch_show_amounts.amount2_in);END;/
SQL> BEGIN 2 plch_show_amounts (100.45, 452666.77); 3 END; 4 /¥100.45¥452,666.77PL/SQL procedure successfully completedSQL>
(D)
CREATE OR REPLACE PROCEDURE plch_show_amounts ( amount1_in IN NUMBER, amount2_in IN NUMBER)IS PROCEDURE show_one (amount1_in IN NUMBER) AS BEGIN DBMS_OUTPUT.put_line ( TO_CHAR (plch_show_amounts.amount1_in, 'FML999G999D99')); END;BEGIN show_one (plch_show_amounts.amount1_in); show_one (plch_show_amounts.amount2_in);END;/
SQL> BEGIN 2 plch_show_amounts (100.45, 452666.77); 3 END; 4 /¥100.45¥100.45PL/SQL procedure successfully completedSQL>
答案BC
http://www.itpub.net/thread-1499223-6-1.html 52楼
Steven 建议你仔细审查在内嵌子过程里对全局变量、自身参数的引用情况。在很多情况下,最好把内嵌子过程转移出来,便于代码共享和调试。
知识点后补
代码
过程
情况
星期
变量
原始
那样的话
东西
全局
参数
只需
同事
地方
实际
实际上
屏幕
建议
最好
格式
版本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宝塔安装服务器安全狗
山西服务器机柜批发价格
信息技术中的网络技术
网络技术发展对我国的影响
阿里云服务器收费价格表
软件开发综合测评
数据库注册监听
网络安全 背景图
烟台数据库培训哪家好
数据库管理的课题
校招 软件开发 面试
计算机网络技术一般学什么
天门定制软件开发价格
微软数据库开发软件库
校园网络安全设计需求分析
供应链网络安全的重要性
网络安全保障工作专项总结报告
him我的世界服务器
红警战网连接到登陆服务器失败
不是软件开发工具
网络安全护网行动时间
应用管理服务器价格
人力资源部网络安全
excel上传到数据库中
北信源参加nsc网络安全大会
数据库查询空值语法
软件开发技术服务进度
兴业软件开发中心
网络安全教育小学案例分析
Emon软件开发