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順序排序...