好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Oracle 游標使用總結

Oracle 游標使用總結

熱門標簽:沈陽400電話是如何辦理 北京營銷外呼系統廠家 地圖標注付款了怎么找不到了 北京外呼系統公司排名 百度地圖標注員是干什么 外呼系統口號 外呼系統鄭州 貴陽智能電銷機器人官網 溫州人工外呼系統
Oracle游標分為顯示游標和隱式游標。
顯示游標(Explicit Cursor):在PL/SQL程序中定義的、用于查詢的游標稱作顯示游標。
隱式游標(Implicit Cursor):是指非PL/SQL程序中定義的、而且是在PL/SQL中使用UPDATE/DELETE語句時,Oracle系統自動分配的游標。
一.顯示游標
1.使用步驟
(1)定義 (2)打開 (3)使用 (4)關閉
2.使用演示
首先創建測試用表STUDENT,腳本如下:
復制代碼 代碼如下:

CREATE TABLE "STUDENT" (
"STUNAME" VARCHAR2(10 BYTE),
"STUNO" VARCHAR2(4 BYTE),
"AGE" NUMBER,
"GENDER" VARCHAR2(2 CHAR)
)

(1).使用WHILE循環處理游標
create or replace PROCEDURE PROC_STU1 AS
BEGIN
--顯示游標使用,使用while循環
declare
--1.定義游標,名稱為cur_stu
cursor cur_stu is
select stuno,stuname from student order by stuno;
--定義變量,存放游標取出的數據
v_stuno varchar(4);
v_stuname varchar(20);
begin
--2.打開游標cur_stu
open cur_stu;
--3.將游標的當前行取出存放到變量中
fetch cur_stu into v_stuno,v_stuname;
while cur_stu%found --游標所指還有數據行,則繼續循環
loop
--打印結果
dbms_output.PUT_LINE(v_stuno||'->'||v_stuname);
--繼續將游標所指的當前行取出放到變量中
fetch cur_stu into v_stuno,v_stuname;
end loop;
close cur_stu; --4.關閉游標
end;
END PROC_STU1;
(2).使用IF..ELSE代替WHILE循環處理游標
create or replace PROCEDURE PROC_STU2 AS
BEGIN
--顯示游標使用,使用if判斷
declare
--1.定義游標,名稱為cur_stu
cursor cur_stu is
select stuno,stuname from student order by stuno;
--定義變量,存放游標取出的數據
v_stuno varchar(4);
v_stuname varchar(20);
begin
--2.打開游標cur_stu
open cur_stu;
--3.將游標的當前行取出存放到變量中
fetch cur_stu into v_stuno,v_stuname;
loop
if cur_stu%found then --如果游標cur_stu所指還有數據行
--打印結果
dbms_output.PUT_LINE(v_stuno||'->'||v_stuname);
--繼續將游標所指的當前行取出放到變量中
fetch cur_stu into v_stuno,v_stuname;
else
exit;
end if;
end loop;
close cur_stu; --4.關閉游標
end;
END PROC_STU2;
(3).使用FOR循環處理游標
create or replace PROCEDURE PROC_STU3 AS
BEGIN
--顯示游標使用,使用for循環
declare
--定義游標,名稱為cur_stu
cursor cur_stu is
select stuno,stuname from student order by stuno;
begin
for stu in cur_stu
loop
dbms_output.PUT_LINE(stu.stuno||'->'||stu.stuname);
--循環做隱含檢查 %notfound
end loop;
--自動關閉游標
end;
END PROC_STU3;
(4).常用的使用EXIT WHEN處理游標
create or replace
PROCEDURE PROC_STU1_1 AS
BEGIN
--顯示游標使用,使用exit when循環
declare
--1.定義游標,名稱為cur_stu
cursor cur_stu is
select stuno,stuname from student order by stuno;
--定義變量,存放游標取出的數據
v_stuno varchar(4);
v_stuname varchar(20);
begin
--2.打開游標cur_stu
open cur_stu;
loop
--3.將游標的當前行取出存放到變量中
fetch cur_stu into v_stuno,v_stuname;
exit when cur_stu%notfound; --游標所指還有數據行,則繼續循環
--打印結果
dbms_output.PUT_LINE(v_stuno||'->'||v_stuname);
end loop;
close cur_stu; --4.關閉游標
end;
END PROC_STU1_1;
二.隱式游標
1.使用演示
create or replace PROCEDURE PROC_STU4 AS
BEGIN
--隱式游標使用
update student set stuname='張燕廣' where stuno='1104';
--如果更新沒有匹配則插入一條新記錄
if SQL%NOTFOUND then
insert into student(STUNO,STUNAME,AGE,GENDER)
values('1104','張燕廣',18,'男');
end if;
END PROC_STU4;
2.說明
所有的SQL語句在上下文區內部都是可執行的,因為都有一個游標指向上下文區,此游標就是
SQL游標,與現實游標不同的是,SQL游標在PL/SQL中不需要打開和關閉,而是在執行UPDATE、
DELETE是自動打開和關閉。
上面例子中就是通過SQL%NOTFOUND游標屬性判斷UPDATE語句的執行結果決定是否需要插入新記錄。
您可能感興趣的文章:
  • 詳解Oracle游標的簡易用法
  • Oracle游標的使用實例詳解
  • Oracle中游標Cursor基本用法詳解
  • 詳解Oracle隱式游標和顯式游標
  • Oracle中的游標和函數詳解
  • Oracle出現超出打開游標最大數的解決方法
  • Oracle顯示游標的使用及游標for循環
  • Oracle存儲過程返回游標實例詳解
  • oracle 在一個存儲過程中調用另一個返回游標的存儲過程
  • Oracle游標使用參考語句實例解析

標簽:潮州 通遼 衢州 淮北 衡水 包頭 溫州 定西

巨人網絡通訊聲明:本文標題《Oracle 游標使用總結》,本文關鍵詞  Oracle,游標,使用,總結,Oracle,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle 游標使用總結》相關的同類信息!
  • 本頁收集關于Oracle 游標使用總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 憋尿中断强忍颤抖调教| 精品一区二区三区免费毛片w| 禁漫?????????动漫精灵| 一级调色和二级视频| 日本午夜片| MetXart欧美极品人体欣赏| 亚洲 欧美 另类 中文 在线三| 三上悠亚在线视频| 婷婷激情图片| 一攻调教多受控制排泄| 亚洲美洲国产日产| 奔跑吧兄弟玩遍女嘉宾杨幂| 久久久久久久国产精品影院| 一级黄色夫妻生活片| 秘书婬荡呻吟揉捏丰满奶头动漫| 于子涵与摄影师亚洲一区| 国产精品久久久久久一级毛片 | 天天躁日日躁狠狠很躁2023| 巨胸狂喷奶水视频www网站免费| xxxxxx日本老师hd68| 久久日日废线看精品6| 欧美老妇与少年做爰的背景故事 | 阿朱啊大尺度床戏视频| 色精品一区二区综合久久| 国产寡妇偷人在线观看视频| 亚洲综合伊人色一区| 色情乱婬一区二区三区竹菊影视 | 中文字幕人妻丝袜二区| 情侣大学生宾馆高潮啪啪自拍| 一受多攻肉文| 解开了女市长的乳罩小说| 穆桂英含精肉臀迎合娇吟电影| 小雪在公车被灌满jing液渺渺| 最新国产网址| 女高中生被校长调教高h| 国产精品白嫩美女在线观看app| 欧美handjob手交手活| 性瘾凌虐h调教sm| 成人在线欧美| 和黑人3p爽粗大| 巜豪妇荡乳1一5玉兰|