2011-10-14对变量的引用

  

     http://www.itpub.net/thread - 1499223 - 5 - 1. - html      

  

        

  

  
  

  

  星期一我写了这个存储过程:   

  <前>   REPLACE  CREATE ,或是;PROCEDURE  plch_show_amounts  (   ,,,amount1_in 数字拷贝   ,,amount2_in ,,拷贝数)   是   开始   ,,DBMS_OUTPUT.put_line  (   ,,,,,TO_CHAR  (plch_show_amounts.amount1_in, & # 39; FML999G999D99& # 39;));   ,,DBMS_OUTPUT.put_line  (   ,,,,,TO_CHAR  (plch_show_amounts.amount2_in, & # 39; FML999G999D99& # 39;));   结束;/之前   

  星期二,我有个同事觉得自己比任何人都知道该如何写好代码,他批评过程中出现的重复代码。“你为什么不把重复的代码放到一个嵌套的子过程?那样的话,假如你需要修改显示格式,或者其他和显示金额相关的东西,你只需修改一个地方。”   
  好吧,我也没法反对,所以我把代码移入一个嵌套的子过程。实际上,我在推出一个能使用的程序版本之前也这么干过几次。   
  下面的选项中哪些包含了一个对原始的plch_show_amounts的“重构”,从而在我执行这段代码之后:   

  <前>   开始   ,,plch_show_amounts  (100.45, 452666.77);   结束;/之前   

  我在屏幕上会看到这样的输出:   

  <前>   100.45美元   美元452666 .77点   之前   

  (一)   

  <前>   REPLACE  CREATE ,或是;PROCEDURE  plch_show_amounts  (   ,,,amount1_in 数字拷贝   ,,amount2_in ,,拷贝数)   是   ,,PROCEDURE  show_one  (amount_in 拷贝数)   ,,   ,才能开始   ,,,,,DBMS_OUTPUT.put_line  (   ,,,,,,,,TO_CHAR  (amount1_in, & # 39; FML999G999D99& # 39;));   ,才能结束;   开始   ,,show_one  (plch_show_amounts.amount1_in);   ,,show_one  (plch_show_amounts.amount2_in);   结束;/之前   <前>   完成,开始   2,,,,,,,plch_show_amounts  (100.45, 452666.77);   ,,3,结束;   4,才能/¥100.45   ¥100.45   PL/SQL  procedure  successfully 完成   完成;   之前   

  (B)   

  <前>   REPLACE  CREATE ,或是;PROCEDURE  plch_show_amounts  (   ,,,amount1_in 数字拷贝   ,,amount2_in ,,拷贝数)   是   ,,PROCEDURE  show_one  (amount_in 拷贝数)   ,,   ,才能开始   ,,,,,DBMS_OUTPUT.put_line  (   ,,,,,,,,TO_CHAR  (amount_in, & # 39; FML999G999D99& # 39;));   ,才能结束;   开始   ,,show_one  (plch_show_amounts.amount1_in);   ,,show_one  (plch_show_amounts.amount2_in);   结束;/之前   <前>   完成,开始   2,,,,,,,plch_show_amounts  (100.45, 452666.77);   ,,3,结束;   4,才能/¥100.45   ¥452666 .77点   PL/SQL  procedure  successfully 完成   完成;   之前   

  (C)   

  <前>   REPLACE  CREATE ,或是;PROCEDURE  plch_show_amounts  (   ,,,amount1_in 数字拷贝   ,,amount2_in ,,拷贝数)   是   ,,PROCEDURE  show_one  (amount1_in 拷贝数)   ,,   ,才能开始   ,,,,,DBMS_OUTPUT.put_line  (   ,,,,,,,,TO_CHAR  (amount1_in, & # 39; FML999G999D99& # 39;));   ,才能结束;   开始   ,,show_one  (plch_show_amounts.amount1_in);   ,,show_one  (plch_show_amounts.amount2_in);   结束;/之前   <前>   完成,开始   2,,,,,,,plch_show_amounts  (100.45, 452666.77);   ,,3,结束;   4,才能/¥100.45   ¥452666 .77点   PL/SQL  procedure  successfully 完成   完成;   之前   

  (D)   

  <前>   REPLACE  CREATE ,或是;PROCEDURE  plch_show_amounts  (   ,,,amount1_in 数字拷贝   ,,amount2_in ,,拷贝数)   是   ,,PROCEDURE  show_one  (amount1_in 拷贝数)   ,,   ,才能开始   ,,,,,DBMS_OUTPUT.put_line  (   ,,,,,,,,TO_CHAR  (plch_show_amounts.amount1_in, & # 39; FML999G999D99& # 39;));   ,才能结束;   开始   ,,show_one  (plch_show_amounts.amount1_in);   ,,show_one  (plch_show_amounts.amount2_in);   结束;/之前   <前>   完成,开始   2,,,,,,,plch_show_amounts  (100.45, 452666.77);   ,,3,结束;   4,才能/¥100.45   ¥100.45   PL/SQL  procedure  successfully 完成   完成;   

2011-10-14对变量的引用