建一个emp1表,其结构和数据与emp表完全一致。用游标完成操作:显示工资低于1500的职员信息,并显示如果给他们涨30%工资后的工资。
CREATE TABLE EMP
(EMPNO   NUMBER(4)  NOT NULL PRIMARY KEY,
ENAME    VARCHAR2(10),
JOB       VARCHAR2(10),
MGR      NUMBER(4),
HIREDATE  DATE,
SAL       NUMBER(7,2),
COMM    NUMBER(7,2),
DEPTNO   NUMBER(2)  NOT  NULL);
后面的用到游标的怎么完成

解决方案 »

  1.   

    SQL> 
    SQL> set serveroutput on
    SQL> DECLARE
      2    CURSOR cur1 IS
      3      SELECT * FROM emp1 WHERE sal < 1500;
      4    emp_rec emp1%ROWTYPE;
      5  BEGIN
      6    OPEN cur1;
      7    LOOP
      8      EXIT WHEN cur1%NOTFOUND;
      9      FETCH cur1
     10        INTO emp_rec;
     11      dbms_output.put_line('empno:' || emp_rec.empno || ',ename:' ||
     12                           emp_rec.ename || ',sal:' ||
     13                           to_char(emp_rec.sal * (1 + 0.3)));
     14    END LOOP;
     15    CLOSE cur1;
     16  END;
     17  /
     
    empno:7369,ename:SMITH,sal:1040
    empno:7521,ename:WARD,sal:1625
    empno:7654,ename:MARTIN,sal:1625
    empno:7876,ename:ADAMS,sal:1430
    empno:7900,ename:JAMES,sal:1235
    empno:7934,ename:MILLER,sal:1690
    empno:7934,ename:MILLER,sal:1690
     
    PL/SQL procedure successfully completed
     
    SQL> 
      

  2.   

    帮忙看看这个,解答立即给分
    http://topic.csdn.net/u/20110527/20/694593bb-c34d-491b-936b-0f78c8f04363.html