Oracle下如何用sql建立遊標

2021-09-07 04:08:55 字數 1337 閱讀 8885

1樓:匿名使用者

是這樣的。。

declare cursor students_cur --宣告遊標

isselect name,dob

from students

where specialty = v_specialty;

begin

--其他**

end;

2樓:匿名使用者

for 迴圈遊標

(1)定義遊標

(2)定義遊標變數

(3)使用for迴圈來使用這個遊標

declare

--型別定義

cursor c_job

isselect empno,ename,job,salfrom emp

where job='manager';

--定義一個遊標變數v_cinfo c_emp%rowtype ,該型別為遊標c_emp中的一行資料型別

c_row c_job%rowtype;

begin

for c_row in c_job loopdbms_output.put_line(c_row.empno||'-'||c_row.

ename||'-'||c_row.job||'-'||c_row.sal);

end loop;

end;

fetch遊標

使用的時候必須要明確的開啟和關閉

declare

--型別定義

cursor c_job

isselect empno,ename,job,salfrom emp

where job='manager';

--定義一個遊標變數

c_row c_job%rowtype;

begin

open c_job;

loop

--提取一行資料到c_row

fetch c_job into c_row;

--判讀是否提取到值,沒取到值就退出

--取到值c_job%notfound 是false--取不到值c_job%notfound 是trueexit when c_job%notfound;

dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal);

end loop;

--關閉遊標

close c_job;

end;

3樓:匿名使用者

遊標是需要放在pl/sql塊中,或者過程函式當中的,不能直接declare建立的

sql如何建立資料表,SQL如何建立一個資料表?

create table學生 學號char 8 primary key,主鍵 姓名varchar 8 notnull unique,不為空,不能重複 性別char 2 check 性別 in 男 女 default 男 not null,只能是男或女,預設是男 出生日期 datetime notnu...

如何檢視oracle中sql語句的執行時間

第三方工具pl sql的最下一行是執行時間 如果是sqlplus那麼就先set timing on,然後執行語句,執行完畢後就能看到執行時間。通過oracle執行計劃可以看到sql的執行時間。explain plan for select from table select from table d...

如何用SQL語句修改欄位的排序規則

請把資料列出來,到底想實現什麼樣的。sql排序子句的語法是 order by n 大括號 的內容表示是必有的內容 這裡應該回是你提問的內容 中括答號表示的是可選的內容 連線符 連線的是任意有一個的內容 例如 order by seq id seq id假設是表中的序號欄位,這樣是預設按asc順序排序...