打印本文 打印本文 关闭窗口 关闭窗口
几十个实用的PL/SQL(2)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2664  更新时间:2007/11/14 11:08:25  文章录入:mintao  责任编辑:mintao

 

第二阶段

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.

A.

DECLARE

       CURSOR c1 IS

          SELECT * FROM emp WHERE job=''''SALESMAN'''' FOR UPDATE OF sal;

BEGIN

       FOR i IN c1

       LOOP

              UPDATE emp SET sal=NVL(sal,0)+500 WHERE CURRENT OF c1;

       END LOOP;

END;

/

Q.编写一PL/SQL,以提升两个资格最老的“职员”为“高级职员”。(工作时间越长,优先级越高)

A.

DECLARE

       CURSOR c1 IS

          SELECT * FROM emp WHERE job=''''CLERK'''' ORDER BY hiredate FOR UPDATE OF job;

          --升序排列,工龄长的在前面

 

BEGIN

       FOR i IN c1

       LOOP

              E

[1] [2]  下一页

打印本文 打印本文 关闭窗口 关闭窗口