第二阶段
Q.编写一个PL/SQL程序块,对名字以“A”或“S”开始的所有雇员按他们的基本薪水的10%加薪。
A.
DECLARE
CURSOR c1 IS
SELECT * FROM emp WHERE SUBSTR(ename,1,1)=''''A'''' OR SUBSTR(ename,1,1)=''''S'''' FOR UPDATE OF sal;
BEGIN
FOR i IN c1
LOOP
UPDATE emp SET sal=NVL(sal,0)+NVL(sal,0)*0.1 WHERE CURRENT OF c1;
END LOOP;
END;
/
Q.编写一PL/SQL,对所有的“销售员”(SALESMAN)增加佣金500.
SELECT * FROM emp WHERE job=''''SALESMAN'''' FOR UPDATE OF sal;
UPDATE emp SET sal=NVL(sal,0)+500 WHERE CURRENT OF c1;
Q.编写一PL/SQL,以提升两个资格最老的“职员”为“高级职员”。(工作时间越长,优先级越高)
SELECT * FROM emp WHERE job=''''CLERK'''' ORDER BY hiredate FOR UPDATE OF job;
--升序排列,工龄长的在前面
E
[1] [2] 下一页
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18