您的位置:首页 > 数据库

几十个实用的PL/SQL(3)

2008-04-27 07:07 375 查看
第三阶段

Q.使用REF游标显示“EMP”表中的值。

A.

DECLARE

TYPEemprectypISRECORD

(

EMPNO emp.empno%TYPE,

ENAME emp.ename%TYPE,

JOB emp.job%TYPE,

MGR emp.mgr%TYPE,

HIREDATEemp.hiredate%TYPE,

SAL emp.sal%TYPE,

COMM emp.comm%TYPE,

DEPTNO emp.deptno%TYPE

);

TYPEemp_cursorISREFCURSORRETURNemp%ROWTYPE;

vemp_curEMP_CURSOR;

vemp_recEMPRECTYP;

BEGIN

OPENvemp_curFORSELECT*FROMemp;

LOOP

FETCHvemp_curINTOvemp_rec;

EXITWHENvemp_cur%NOTFOUND;

DBMS_OUTPUT.PUT(vemp_rec.empno||' '||vemp_rec.ename||''||vemp_rec.job);

DBMS_OUTPUT.PUT(vemp_rec.mgr||' '||vemp_rec.hiredate||''||vemp_rec.sal);

DBMS_OUTPUT.PUT_line(vemp_rec.comm||' '||vemp_rec.deptno);

ENDLOOP;

CLOSEvemp_cur;

END;

/

Q.从“EMP”中获得值送到PL/SQL表,将PL/SQL表中的薪水值增加500,并向用户显示增加的薪水及其他详细信息。

A.

DECLARE

TYPEemprecISRECORD

(

EMPNO emp.empno%TYPE,

ENAME emp.ename%TYPE,

JOB emp.job%TYPE,

MGR emp.mgr%TYPE,

HIREDATEemp.hiredate%TYPE,

SAL emp.sal%TYPE,

COMM emp.comm%TYPE,

DEPTNO emp.deptno%TYPE

);

iBINARY_INTEGER:=1;

TYPEemp_tabISTABLEOFEMPRECINDEXBYbinary_integer;1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: