--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; exitwhen 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;