2011-10-14 对变量的引用
发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,http://www.itpub.net/thread-1499223-5-1.html46 楼星期一我写了这个存储过程:CREATE OR REPLACE PROCEDURE plch_show_a
千家信息网最后更新 2024年12月01日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安全错误
数据库的锁怎样保障安全
网上数据库该如何写到参考文献里
居民网络安全
网络安全检查情况表
北京惠普服务器续保更换云主机
山西正规软件开发应用
甘肃生鲜软件开发
莱州ios软件开发外包公司
丽江互联网科技在哪里
数据库文件安全措施有哪些
服务器可以进行机械硬盘启动吗
域服务器 域管理员
服务器bios退出安全模式
能多开游戏的服务器
中国网络安全如何
sql数据库备份和恢复软件
网络安全与技术发展
嵌入式软件开发面试攻略
LAMENTO下载软件开发
软件开发招聘哪个平台好
网络安全重于泰山心得体会
网络安全宣讲活动信息
达梦数据库调整数据库编码
杭州学点网络技术
软件开发的基本工作流程
数据库日期怎么加法
注册管理服务器端口怎么修改
广东极尚网络技术
团餐软件开发
软件开发行业折旧
安卓手机做samba服务器