orsen成长录

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  3 随笔 :: 2 文章 :: 0 评论 :: 0 Trackbacks
--通过使用隐式游标和记录为mydept表添加内容
Declare  
Type  dept_rec 
Is Record
(
     r_deptno  dept.deptno
%Type,
     r_dname   dept.dname
%Type,
     r_loc     dept.loc
%Type
);
v_deptrec   dept_rec;
Begin
     
Select deptno,dname,loc Into v_deptrec From dept
     
Where deptno=&dno;
     
Insert Into mydept Values v_deptrec;
      dbms_output.put_line(
'插值成功');
     Exception 
     
When NO_DATA_FOUND Then
     dbms_output.put_line(
'该部门不存在');
     
When Others Then
     dbms_output.put_line(
'发生异常,插值失败');
End ;


--结合游标从DEPT表中查询数据,将相应的数据插入到MYDEPT表中
Declare  
Type  dept_rec 
Is Record
(
     r_deptno  dept.deptno
%Type,
     r_dname   dept.dname
%Type,
     r_loc     dept.loc
%Type
);
Cursor dept_cursor Is
Select * From dept Order By deptno Asc;
v_deptrec   dept_rec;
Begin

      
--打开游标
      Open dept_cursor;
      
--从游标中取值
      Fetch dept_cursor Into v_deptrec;
      
While(dept_cursor%Found) Loop
           
Insert Into mydept Values v_deptrec;
      dbms_output.put_line(
'插值成功');
      
Fetch dept_cursor Into v_deptrec;          
      
End Loop;
      
Close dept_cursor;
     Exception 
When Others Then
     dbms_output.put_line(
'发生异常,插值失败');
End ;


--使用面向游标的记录
--
通过面向游标的记录显示部门信息
Declare Cursor dept_cursor
Is
Select * From mydept Order By deptno Asc;
--定义一个面向游标的记录
v_deptrec dept_cursor%Rowtype;
Begin
     
Open dept_cursor;
     Loop 
     
Fetch  dept_cursor Into v_deptrec;      
          
Delete From mydept Where deptno=v_deptrec.deptno;
          dbms_output.put_line(v_deptrec.deptno
||' 信息删除成功');
     
Exit When dept_cursor%Notfound ;
     
End Loop;
     
Close dept_cursor;
     Exception 
When Others Then
     dbms_output.put_line(
'发生异常,删除失败');
End;
posted on 2009-09-24 12:58 Orsen 阅读(125) 评论(0)  编辑  收藏 所属分类: Oracle

只有注册用户登录后才能发表评论。


网站导航: