DotNet编程-星光伴我行

滴滴真谛 水滴石穿

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
--select  * from student;
--
delete from student where sid>=4;

--delete from "SYSTEM"."STUDENT";
--
SELECT * FROM "SYSTEM"."STUDENT";
/*
--插入30条记录
SET SERVEROUTPUT ON
DECLARE 
I INT:=0;
begin
FOR I IN 1..30 LOOP
INSERT INTO "SYSTEM"."STUDENT" (SID,SNAME,SDATE) VALUES(I,'FRJ'||TO_CHAR(I),SYSDATE);
END LOOP;
commit;
end;
*/


--采用游标查询出sid>2的纪录的 sid;
declare 
 tempsid system.student.sid
%type; --定义一个变量,它的数据类型与student表中的sid类型相同
 cursor myCursor           --定义游标 
 is                        --游标所执行的操作 
   select * from system.student
            
where sid>2;
   selCursorRecord myCursor
%rowtype; --游标实例化
begin
    tempsid:
=0;
    
open myCursor;  --打开游标
    /*if myCursor%isopen then  --测试游标是否打开,打开则返回真,如果没有打开游标就使用fetch语句将提示错误.
       fetch myCursor into selCursorRecord;
       dbms_output.put_line(to_char(' sid: '|| selCursorRecord.sid));
    else
      dbms_output.put_line(to_char(' 游标没有打开.')); 
    end if;
    
*/

    
/*
    while myCursor%isopen loop 
       fetch myCursor into selCursorRecord;
       dbms_output.put_line(to_char(' sid: '|| selCursorRecord.sid));
    end loop;
      --dbms_output.put_line(' 游标中所有的数据行数.'|| to_char(myCursor%rowcount)); 
     
*/

     loop          
--这一种循环结构比上种更为准确
       tempsid:=tempsid+1;
       
exit when myCursor%notfound ;
       
fetch myCursor into selCursorRecord;
       dbms_output.put_line(to_char(
' sid: '|| selCursorRecord.sid || '  rows ' ||tempsid));
     
end loop; 
     dbms_output.put_line(
' 游标中所有的数据行数.'|| to_char(myCursor%rowcount))  ;  --获取游标中的数据行数
     close myCursor;  --关闭游标
    
 
end;
posted on 2007-06-08 13:24  DotNet编程  阅读(674)  评论(0)    收藏  举报