建立PL/SQL块,使用替代变量输入全年工资总额和奖金百分比(10表示10%),输出实际工资总和,如下所示:
Please enter the salary amount: 50000
Please enter the bonus percentage: 10
PL/SQL procedure successfully completed.
G_TOTAL
-------
 55000

解决方案 »

  1.   


    set serveroutput ondeclare
     amount number(18,2);
     bonus number;
    begin
     amount:=&amount;
     bonus:=&bonus; dbms_output.put_line('G_Totle:'||to_char(amount*(100+bonus)/100,'99999999.99'));
    end;
    /
      

  2.   

    SQL> edi
    已写入 file afiedt.buf  1  declare
      2  v1 number:=&v1;
      3  per number:=&per;
      4  begin
      5  dbms_output.put_line(to_char(v1*(1+10/100)));
      6* end;
    SQL> /
    输入 v1 的值:  5000
    原值    2: v1 number:=&v1;
    新值    2: v1 number:=5000;
    输入 per 的值:  10
    原值    3: per number:=&per;
    新值    3: per number:=10;
    5500PL/SQL 过程已成功完成。
      

  3.   

    SQL> set serverout on
    SQL> set verify off
    SQL> alter session set nls_language=American;Session altered.SQL> select &salary_amount*(1+&bonus_percentage) g_total from dual;
    Enter value for salary_amount: 5000
    Enter value for bonus_percentage: 10   G_TOTAL                                                                      
    ----------                                                                      
         55000                                                                      SQL> spool off;SQL> var a number;
    SQL> var b number;
    SQL> var G_TOTAL number;
    SQL> begin
      2  :a:=&salary_amount;
      3  :b:=&bonus_percentage;
      4  :G_TOTAL:=:a*(1+:b);
      5  end;
      6  /
    Enter value for salary_amount: 5000
    Enter value for bonus_percentage: 10PL/SQL procedure successfully completed.SQL> print :G_TOTAL;   G_TOTAL                                                                      
    ----------                                                                      
         55000                                                                      SQL> spool off;