1. 程式人生 > >oracle中游標的屬性和修改預設遊標的大小

oracle中游標的屬性和修改預設遊標的大小

/*
1、游標的屬性
%found %notfound
%isopen 判斷游標是否開啟
%rowcount 影響的行數

2、游標數的限制:預設情況下,oracle資料庫只有300個游標
*/
--set serveroutput on
declare
--定義游標
cursor cemp is select empno,empjob from emp;
pempno emp.empno%type;
pjob emp.empjob%type;
begin
  --開啟游標
  open cemp;
       loop
         --取出一條記錄
         fetch cemp into pempno,pjob;
         exit when cemp%notfound;--屬性notfound
         --列印rowcount的值
         dbms_output.put_line('rowcount:'||cemp%rowcount);--屬性rowcount
       end loop;
 
  if cemp%isopen then--屬性isopen
    dbms_output.put_line('游標已經開啟');
  else
    dbms_output.put_line('游標沒有開啟');
  end if;
 
  --關閉游標
  close cemp;
  end;
  --什麼時候需要這個/
 --/
 /*
 在SQL Plus裡面如果當前使用者是scott(用show user即可檢視),我們切換為管理員使用者:conn sys/
[email protected]
:1521/orcl as sysdba show parameter abcd:此條語句是模糊查詢,會在abcd的前後加上% show parameter cursor;即可看到cursor的最大值:300 修改游標數的限制 alter system set open_cursors=400 scope=both; scope的取值:both(同時生效),memory,spfile(資料庫需要重啟) memory:只更改當前例項不更改引數檔案 */
在SQL Plus裡面如果當前使用者是scott(用show user即可檢視),我們切換為管理員使用者:conn sys/密碼@127.0.0.1:1521/orcl as sysdba


show parameter abcd:此條語句是模糊查詢,會在abcd的前後加上%
show parameter cursor;即可看到cursor的最大值:300

修改游標數的限制
alter system set open_cursors=400 scope=both;
scope的取值:both(同時生效),memory,spfile(資料庫需要重啟)
memory:只更改當前例項不更改引數檔案