游標的使用步驟
游標的分類:
1、隱式游標
系統幫我們定義好的游標。注意一句話,每當我們執行乙個dml語句,系統就會自動幫助我們建立隱式游標。
例如,將孫麗的**號碼修改為 13818882888。
begin2、顯式游標update person.person set phone=13818882888 where name='孫麗';
if sql%notfound then
print '此人不存在';
else
print '已修改';
end if;
end;
/
我們自己定義的游標。
--靜態顯式游標:declare
c1 cursor is select *from test;
v_id
intdefault 0;
v_name varchar(50) default null
;begin
open c1;
repeat
fetch next c1 into v_id, v_name;
dbms_output.put(v_id);
dbms_output.put(v_name);
until c1%notfound;
close c1;
end;
--靜態顯式游標:區別不大,就兩點區別,分別在定義游標和開啟游標上。declare
c1 cursor
return sysdba.test%rowtype is select *from sysdba.test; --這個游標在定義的時候指定了返回值型別必須是sysdba.test%rowtype
v_test sysdba.test%rowtype; --這裡定義了乙個變數,變數的資料型別式sysdba.test%rowtype;
begin
open c1;
repeat
fetch next c1 into v_test; --游標從查詢表示式select * from test取出來的值,是和v_test的資料型別一致的,所以可以賦值給v_test
print v_test.id;
print v_test.name;
until c1%notfound;
close c1;
end;
將游標作為乙個變數,這裡的游標是乙個變數,什麼意思呢?就是說他可以指向不同的查詢表示式的記憶體區域位址(當時相同時間下是只能指向乙個的)
游標變數和游標的區別主要是1.定義語法不同 2.open游標時才給游標賦值,如紅色所示:
--游標變數:declare
type c1_cursor_type is ref cursor
return sysdba.test%
rowtype;
c1 c1_cursor_type;
v_test sysdba.test%rowtype;
begin
open c1
for select *
from test;
repeat
fetch next c1 into v_test;
dbms_output.put(v_test);
until c1%notfound;
close c1;
end;
--游標變數:declare
type test_record is record(id test.id%type, name test.name%type);
v_test test_record;
type c1_cursor_type is ref cursor
return
test_record;
c1 c1_cursor_type;
begin
open c1
for select *from test;
repeat
fetch next c1 into v_test;
print v_test.id;
until c1%notfound;
close c1;
end;
SQL游標的介紹與使用舉例
declare 游標名 insensitive scroll cursor for select statement for 1 當指定insensitive時,系統將建立游標指向的表的臨時副本,後續游標的所有操作將針對該副本 tempdb 進行,也就是說,不會對基表進行修改 事實上使用insens...
01 socket程式設計 OSI介紹
1.物理層 物理層的任務就是為它的上一層提供物理連線,以及規定通訊節點之間的機械和電器特徵,如規定電纜和接頭的型別,床送訊號的電壓。在這一層,資料作為原始的位元 bit 流傳輸。本層的典型裝置是集線器。2.資料鏈路層 資料鏈路層負責在兩個相鄰節點間的路線上,無差錯的傳送以幀為單位的資料。資料鏈路層要...
DAY01 程式語言介紹
程式設計 寫 程式 軟體。程式設計的目的是 讓機器 比如計算機 按照人們事先為其編寫好的程式自發地去工作。機器語言是用二進位制 表示的計算機能直接識別和執行的一種機器指令的集合。優點 靈活 直接執行和速度快。缺點 不同型號的計算機其機器語言是不相通的,按著一種計算機的機器指令編制的程式,不能在另一種...