建立PL/SQL块,使用替代变量输入全年工资总额和奖金百分比(10表示10%),输出实际工资总和,如下所示:
Please enter the salary amount: 50000
Please enter the bonus percentage: 10
PL/SQL procedure successfully completed.
G_TOTAL
-------
55000
Please enter the salary amount: 50000
Please enter the bonus percentage: 10
PL/SQL procedure successfully completed.
G_TOTAL
-------
55000
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;
/
已写入 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 过程已成功完成。
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;