博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建一个PL/SQL块,计算一年的补偿金额。
阅读量:5876 次
发布时间:2019-06-19

本文共 1498 字,大约阅读时间需要 4 分钟。

创建一个PL/SQL块,计算一年的补偿金额。

【要求】

²  通过SQL *Plus替代变量将每年的工资和每年的奖金比率传递给PL/SQL块

²  奖金比率为整数,在块中将其转换为小数形式(如15转换成0.15)。

²  如果工资为空,在计算全部补偿金额时将该工资设为0。

【提示】:使用NVL函数来处理空值。

执行后的显示如下:

Please enter the salary amount: 50000

Please enter the bonus percentage: 10

PL/SQL procedure successfully completed.

G_TOTAL

-------

55000

 

SQL> accept p_sal prompt 'Please enter the salary amount:'Please enter the salary amount:50000SQL> accept p_bonus prompt 'Please enter the bonus percentage:'Please enter the bonus percentage:10SQL> variable g_total number;SQL> begin  2   :g_total:=nvl(&p_sal,0)*(1+&p_bonus*0.01);  3  end;  4  /原值    2:  :g_total:=nvl(&p_sal,0)*(1+&p_bonus*0.01);新值    2:  :g_total:=nvl(50000,0)*(1+10*0.01);PL/SQL 过程已成功完成。SQL> print g_total;   G_TOTAL----------     55000

知识点:

1.accpet :可以来接受预先指定变量值,来改变提示语句

SQL> accept p_sal prompt 'Please enter the salary amount:'Please enter the salary amount:50000

2.nvl函数

  

 

补充: NVL2函数

 

NVL2函数的格式如下:NVL2(expr1,expr2, expr3)

 

含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。

SQL> select ename,NVL2(comm,-1,1) from emp;

 

 

NULLIF函数

 

 

SQL> declare  2   v_num1 number:=2;  3   v_num2 number:=2;  4   a number;  5  begin  6  select nullif(v_num1,v_num2)into a from dual;  7  dbms_output.put_line('a:'||a);  8  end;  9  /a:PL/SQL 过程已成功完成。SQL> declare  2   v_num1 number:=2;  3   v_num2 number:=3;  4   a number;  5  begin  6   select nullif(v_num1,v_num2)into a from dual;  7   dbms_output.put_line(a);  8  end;  9  /2PL/SQL 过程已成功完成。

 

转载于:https://www.cnblogs.com/yblogs/p/7677718.html

你可能感兴趣的文章
SpringBlade 2.0.1 发布,兼容jdk11与openjdk,增加Saber代码生成功能
查看>>
Cisco ISO 计划命令 kron实现配置定时自动备份
查看>>
rpm 相关问题
查看>>
PE结构讲解--section table 和 section
查看>>
主DNS服务-反向解析
查看>>
车联网上云最佳实践(七)
查看>>
70种方法,轻松入门Python可视化编程
查看>>
AIF娱乐完成数千万人民币Pre-A轮融资 计划年底推出第一支男子偶像团体
查看>>
Java 程序员必会的技术
查看>>
[Flink]Flink1.3 Batch指南一 本地运行
查看>>
1小时轻松上手springmvc,视频网站后台开发
查看>>
.NET Core 使用RabbitMQ
查看>>
zookeeper小入门(一)
查看>>
美摄科技获数千万元Pre-A 轮融资,深创投投资
查看>>
laravel为啥这么的慢?
查看>>
SSM-Spring-11:Spring中使用代理工厂Bean实现aop的四种增强
查看>>
日志服务(Log service)6月控制台更新指南
查看>>
DeepMind论文解读:让机器更深入地理解文本
查看>>
【下一代核心技术DevOps】:(四)私有镜像库阿里云Docker服务使用
查看>>
SAP成都研究院非典型程序猿,菜园子小哥:当我用UI5诊断工具时我用些什么
查看>>