国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

幾十個(gè)實(shí)用的PL/SQL(3)

2024-07-21 02:08:01
字體:
供稿:網(wǎng)友

第三階段

q.使用ref游標(biāo)顯示“emp”表中的值。

a.

declare

       type emprectyp is record

       (

         empno  emp.empno%type,        

         ename  emp.ename%type,

         job    emp.job%type,

         mgr    emp.mgr%type,    

         hiredate emp.hiredate%type,

         sal      emp.sal%type,

         comm     emp.comm%type,

         deptno   emp.deptno%type

       );

       type emp_cursor is ref cursor return emp%rowtype;

       vemp_cur emp_cursor;

       vemp_rec emprectyp;

begin

       open vemp_cur for select * from emp;

       loop

              fetch vemp_cur into vemp_rec;

              exit when vemp_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);

       end loop;

       close vemp_cur;

end;

/

q.從“emp”中獲得值送到pl/sql表,將pl/sql表中的薪水值增加500,并向用戶顯示增加的薪水及其他詳細(xì)信息。

a.

declare

       type emprec is record

       (

         empno  emp.empno%type,        

         ename  emp.ename%type,

         job    emp.job%type,

         mgr    emp.mgr%type,    

         hiredate emp.hiredate%type,

         sal      emp.sal%type,

         comm     emp.comm%type,

         deptno   emp.deptno%type

       );

 

       i binary_integer:=1;

 

       type emp_tab is table of emprec index by binary_integer;

       vemp emp_tab;

 

       cursor c1 is select * from emp;

begin

       for x in c1

       loop

              vemp(i).empno:=x.empno;

              vemp(i).ename:=x.ename;

              vemp(i).job:=x.job;

              vemp(i).mgr:=x.mgr;

              vemp(i).hiredate:=x.hiredate;

              vemp(i).sal:=x.sal+500;

              vemp(i).comm:=x.comm;

              vemp(i).deptno:=x.deptno;

              i:=i+1;

       end loop;

 

       for j in 1..i-1

       loop

              dbms_output.put(vemp(j).empno||'  '||vemp(j).ename||' '||vemp(j).job);

              dbms_output.put(vemp(j).mgr||'  '||vemp(j).hiredate||' '||vemp(j).sal);

              dbms_output.put_line(vemp(j).comm||'  '||vemp(j).deptno);

             

       end loop;

end;

/

q.一旦將值送到pl/sql表后,嘗試在pl/sql表中插入新記錄并且刪除某些現(xiàn)有的記錄。

a.

declare

       type emprec is record

       (

         empno  emp.empno%type,         

         ename  emp.ename%type,

         job    emp.job%type,

         mgr    emp.mgr%type,    

         hiredate emp.hiredate%type,

         sal      emp.sal%type,

         comm     emp.comm%type,

         deptno   emp.deptno%type

       );

 

       i binary_integer:=1;

 

       type emp_tab is table of emprec index by binary_integer;

       vemp emp_tab;

 

       cursor c1 is select * from emp;

begin

       for x in c1

       loop

              vemp(i).empno:=x.empno;

              vemp(i).ename:=x.ename;

              vemp(i).job:=x.job;

              vemp(i).mgr:=x.mgr;

              vemp(i).hiredate:=x.hiredate;

              vemp(i).sal:=x.sal;

              vemp(i).comm:=x.comm;

              vemp(i).deptno:=x.deptno;

              i:=i+1;

       end loop;

--     for j in 1..i-1

--     loop

--            dbms_output.put(vemp(j).empno||'  '||vemp(j).ename||' '||vemp(j).job);

--            dbms_output.put(vemp(j).mgr||'  '||vemp(j).hiredate||' '||vemp(j).sal);

--            dbms_output.put_line(vemp(j).comm||'  '||vemp(j).deptno);

             

--     end loop;

 

       --插入記錄

       dbms_output.put_line('插入記錄:');

       vemp(i).empno:=1000;

       vemp(i).ename:='goldens';

       vemp(i).job:='software';

       vemp(i).mgr:=null;

       vemp(i).hiredate:='2003-01-04';

       vemp(i).sal:=8888;

       vemp(i).comm:=10;

       vemp(i).deptno:=10;

      

       for j in 1..i

       loop

              dbms_output.put(vemp(j).empno||'  '||vemp(j).ename||' '||vemp(j).job);

              dbms_output.put(vemp(j).mgr||'  '||vemp(j).hiredate||' '||vemp(j).sal);

              dbms_output.put_line(vemp(j).comm||'  '||vemp(j).deptno);

             

       end loop;

       --刪除第5、6條記錄

       dbms_output.put_line('刪除第5、6條記錄:');

       for j in 5..i-2

       loop

              vemp(j).empno:=vemp(j+2).empno;

              vemp(j).ename:=vemp(j+2).ename;

              vemp(j).job:=vemp(j+2).job;

              vemp(j).mgr:=vemp(j+2).mgr;

              vemp(j).hiredate:=vemp(j+1).hiredate;

              vemp(j).sal:=vemp(j+2).sal;

              vemp(j).comm:=vemp(j+2).comm;

              vemp(j).deptno:=vemp(j+2).deptno;

       end loop;

       vemp(i-1).empno:=null;

       vemp(i-1).ename:=null;

       vemp(i-1).job:=null;

       vemp(i-1).mgr:=null;

       vemp(i-1).hiredate:=null;

       vemp(i-1).sal:=null;

       vemp(i-1).comm:=null;

       vemp(i-1).deptno:=null;

       vemp(i).empno:=null;

       vemp(i).ename:=null;

       vemp(i).job:=null;

       vemp(i).mgr:=null;

       vemp(i).hiredate:=null;

       vemp(i).sal:=null;

       vemp(i).comm:=null;

       vemp(i).deptno:=null;

 

       for j in 1..i-2

       loop

              dbms_output.put(vemp(j).empno||'  '||vemp(j).ename||' '||vemp(j).job);

              dbms_output.put(vemp(j).mgr||'  '||vemp(j).hiredate||' '||vemp(j).sal);

              dbms_output.put_line(vemp(j).comm||'  '||vemp(j).deptno);

             

       end loop;

      

 

end;

/
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 萍乡市| 崇仁县| 长沙市| 云阳县| 大兴区| 板桥市| 精河县| 南宁市| 富宁县| 封丘县| 米林县| 依安县| 石阡县| 邮箱| 开封市| 得荣县| 定远县| 扶沟县| 泰宁县| 枞阳县| 黄浦区| 江津市| 阳山县| 宜春市| 静乐县| 华坪县| 随州市| 榆社县| 自贡市| 龙岩市| 锦州市| 汶上县| 新竹市| 南城县| 长葛市| 襄城县| 赣州市| 襄汾县| 台北县| 固镇县| 双城市|