plsql练习
来源:互联网 发布:工控软件开发是什么 编辑:程序博客网 时间:2024/06/16 12:27
--1.1-100之间的奇数
declare
i integer;
begin
for i in 1..100 loop
if mod(i,2)<>0 then
dbms_output.put_line(i);
end if;
end loop;
end;
--2.对所有员工,如果该员工职位是MANAGER,并且在DALLAS工作那么就给他薪金加15%;如果该员工职位是CLERK,并且在NEWYORK工作那么就给他薪金扣除5%;其他情况不作处理
declare
cursor c1 is select * from emp;
c1rec c1%rowtype;
v_loc varchar2(20);
begin
for c1rec in c1 loop
select loc into v_loc from dept where deptno = c1rec.deptno;
if c1rec.job = 'MANAGER' and v_loc= 'DALLAS' then
update emp set sal = sal * 1.15 where empno= c1rec.empno;
elsif c1rec.job='CLERK' and v_loc= 'NEW YORK' then
update emp set sal = sal * 0.95 where empno= c1rec.empno;
else
null;
end if;
end loop;
end;
select * from emp;
--3、编写一个PL/SQL程序块,对名字以"A"或"S"开始的所有雇员按他们的基本薪水的10%加薪。
update emp set sal=sal*1.1 where enamelike '%A%' or enamelike '%S%';
select * from emp;
--4、编写一PL/SQL,对所有的"销售员"(SALESMAN)增加佣金500.
update emp set sal= sal+500 where job= 'SALESMAN';
select * from emp;
--5、编写一PL/SQL,以提升两个资格最老的"职员"为"高级职员"。(工作时间越长,优先级越高)
DECLARE
CURSOR c1 IS
SELECT * FROM empWHERE job=´;CLERK´;
ORDER BY hiredateFOR UPDATE OF job;
BEGIN
FOR i IN c1
LOOP
EXIT WHEN c1%ROWCOUNT>2;
DBMS_OUTPUT.PUT_LINE(i.ename);
UPDATE emp SET job=´;HIGHCLERK´; WHERE
CURRENT OF c1;
END LOOP;
END;
--6、编写一PL/SQL,对所有雇员按他们基本薪水的10%加薪,如果所增加的薪水大于5000,则取消加薪。
DECLARE
CURSOR c1 IS SELECT * FROM empFOR UPDATE OF sal;
BEGIN
FOR i IN c1
LOOP
IF (i.sal+i.sal*0.1)<=5000 THEN
UPDATE emp SET sal=sal+sal*0.1 where
Empno=i.empno;
DBMS_OUTPUT.PUT_LINE(i.sal);
END IF;
END LOOP;
END;
--7、显示EMP中的第四条记录。
select * from (select rownum rn,a.* from emp a) b where b.rn=4
- PLSQL练习
- plsql练习
- plsql练习2
- oracle-plsql练习
- plsql经典测试题--练习
- 【oracle学习】8.PLSQL练习
- PLSql -- 练习2 cursor 显式/隐式游标
- PLSQL
- PLSQL
- PLSQL
- plsql
- plsql
- plsql
- plsql
- plsql
- PLSQL
- PLsql
- PLsql
- S2013中如何解决error C4996: 'fopen'问题
- SSM之整合Redis
- linux-IO和c语言IO
- Linux下的一个文件查询小工具
- 欢迎使用CSDN-markdown编辑器
- plsql练习
- 深入理解Java:注解(Annotation)自定义注解入门
- 将excel表中的数据写到txt文本文件的Python脚本
- GYM 100971 G.Repair(水~)
- JAVA学习之基于TCP的通信过程
- VS2012 配置fftw库遇到的一些问题及解决方法
- plsql练习2
- java8基础学习-lambda表达式
- Linux目录结构和常用命令