PLSQL经典练习
9页1、PL/SQLPL/SQL 经典练习经典练习*/ =PL/SQL 编程= */-先把 scott 里面的表弄到 test 表空间里面来CREATE TABLE EMP ASSELECT * FROM SCOTT.EMP; CREATE TABLE DEPT ASSELECT * FROM SCOTT.DEPT; /*上机 1 */ -(1)计算 King 所交税金DECLAREV_SHUIJIN NUMBER; -应交税金V_SAL SCOTT.EMP.SAL%TYPE; -工资C_QIZHENDIAN CONSTANT NUMBER :=3500; BEGINSELECT SAL INTO V_SAL FROM SCOTT.EMP WHERE ENAME=KING;IF (V_SAL-C_QIZHENDIAN)1500 AND (V_SAL-C_QIZHENDIAN)4500 AND (V_SAL-C_QIZHENDIAN)9000 AND (V_SAL-C_QIZHENDIAN)35000 AND (V_SAL-C_QIZHENDIAN)55000 AND (V_SAL-C_QIZH
2、ENDIAN)80000 THENV_SHUIJIN:=(V_SAL-C_QIZHENDIAN)*0.45-13505;END IF;DBMS_OUTPUT.PUT_LINE(KING 所交的税金是:|V_SHUIJIN); END;-(2)根据员工 scott 入职的时间修改发放奖金列,大于等于 6 年的奖金为 2000,小于 6 年的奖金是 1500DECLAREV_SCOTT_HIREDATE EMP.HIREDATE%TYPE; -SCOTT 的入职时间V_COMM NUMBER; -奖金BEGINSELECT HIREDATE INTO V_SCOTT_HIREDATE FROM EMP WHERE ENAME=SCOTT;IF (SYSDATE-V_SCOTT_HIREDATE)=365*6 THENV_COMM:=2000;ELSEV_COMM:=1500;END IF;-开始修改UPDATE EMP SET COMM=V_COMM WHERE ENAME=SCOTT;IF SQL%ROWCOUNT0 THENDBMS_OUTPUT.PUT_LINE(修改成功!);ELS
3、EDBMS_OUTPUT.PUT_LINE(修改失败!);END IF; END;-(3)查询 scott 相应的工资级别并显示所在部门名称,薪水,和所在的级别DECLAREV_SCOTT_SAL EMP.SAL%TYPE; -scott 的工资V_JIBIE NUMBER; -级别V_DEPTNAME DEPT.DNAME%TYPE; -部门名称 BEGINSELECT SAL,DNAME INTO V_SCOTT_SAL,V_DEPTNAME FROM EMP E JOIN DEPT DON E.DEPTNO=D.DEPTNOWHERE ENAME=SCOTT;IF V_SCOTT_SAL700 AND V_SCOTT_SAL3200 AND V_SCOTT_SAL4400 AND V_SCOTT_SAL5000 AND V_SCOTT_SAL7000 AND V_SCOTT_SAL=10000;END LOOP; -修改 scott 的工资UPDATE EMP SET SAL=V_SCOTT_SAL WHERE ENAME=SCOTT;IF SQL%ROWCOUNT0 THEND
4、BMS_OUTPUT.PUT_LINE(增加成功!);ELSEDBMS_OUTPUT.PUT_LINE(增加失败!);END IF; END; /* 上机 2 预定义异常 公司通过 emp 表维护职员记录,用以接收职员编号并检索职员姓名,*/ DECLAREV_ENAME VARCHAR2(4); BEGINSELECT ENAME INTO V_ENAME FROM EMP WHERE EMPNO=DBMS_OUTPUT.PUT_LINE(已找到|V_ENAME); EXCEPTIONWHEN NO_DATA_FOUND THENDBMS_OUTPUT.PUT_LINE(对不起,没有该职员!);WHEN VALUE_ERROR THENDBMS_OUTPUT.PUT_LINE(职员名称太长!);WHEN OTHERS THENDBMS_OUTPUT.PUT_LINE(出现其他的异常!);END;/* 上机 3 自定义异常、|输入员工编号,工资,部门编号, |如果部门代码是 10,且工资低于 10000,更新员工的工资是 10000 |如果部门代码是 10,工资高于 10000,显示消
《PLSQL经典练习》由会员m****分享,可在线阅读,更多相关《PLSQL经典练习》请在金锄头文库上搜索。
DB2发生死锁情况时应该怎么处理
Python 为何能成最强编程语言
面试前必须要知道的Redis面试
MySQL下自动删除指定时间以前的记录的操作方法
深入理解FastCGI协议以及在PHP中的实现
MySQL数据库性能优化之硬件瓶颈分析
NoSQL数据库大全收集整理
2018 – 2019 年前端 JavaScript 面试题
PHP文件包含漏洞的形式总结
5种使用Python代码轻松实现数据可视化的方法
改进JavaScript和Bust的互操作性:深入认识wasm-bindgen组件
C#图片缩放平移从功能分析到编码实现
详解网络蜘蛛的安全隐患及预防方法
利用NAP解除安全隐患自动隐藏你的IP地址
解决分布式数据库和离线网络中原子性问题的新方法
bbed恢复数据遇到延迟块清除的问题
Oracle Data Redaction数据加密
linux下du和df结果不一致的原因及处理
基于QMP实现对qemu虚拟机进行交互
解读Java并发队列BlockingQueue
2023-08-28 7页
2023-08-15 11页
2020-05-10 4页
2020-05-10 4页
2020-05-10 6页
2020-05-10 5页
2020-05-10 5页
2020-05-10 3页
2020-05-10 5页
2020-05-10 4页