PL SQL 隱式游標

2021-07-30 14:06:47 字數 1779 閱讀 1432

1.更新emp表中一名員工的資訊,並通過游標的屬性檢視被更新的記錄數

sql> set serveroutput on

sql> declare

2 begin

3 update emp

4 set sal=1200

5 where empno='7369';

6 if sql%notfound then

7 dbms_output.put_line('未更新任何記錄');

8 else

9 dbms_output.put_line('更新' || sql%rowcount || '條記錄');

10 end if;

11 end;

12 /

結果:更新1條記錄

pl/sql 過程已成功完成。

2.新增乙個select語句,檢視兩個sql語句對游標的影響。

sql> set serveroutput on

sql> declare

2 employee_row emp%rowtype;

3 begin

4 update emp

5 set sal=sal+200

6 where job='clerk';

7 dbms_output.put_line('更新' || sql%rowcount || '條記錄');

8 select *

9 into employee_row

10 from emp

11 where empno='7369';

12 dbms_output.put_line('檢索到' || sql%rowcount || '條記錄');

13 end;

14 /

結果:

更新4條記錄

檢索到1條記錄

pl/sql 過程已成功完成。

3.使用cursor for loop語句迴圈輸出檢索到的員工資訊

sql> set serveroutput on

sql> declare

2 begin

3 for employee in (select empno,ename,job,sal from emp where deptno=20)

4 loop

5 dbms_output.put('員工編號:' || employee.empno);

6 dbms_output.put('姓名' || employee.ename);

7 dbms_output.put('職位' || employee.job);

8 dbms_output.put_line('薪金' || employee.sal);

9 end loop;

10 end;

11 /

結果:

員工編號:7369姓名smith職位clerk薪金1400

員工編號:7566姓名jones職位manager薪金2975

員工編號:7788姓名scott職位analyst薪金3000

員工編號:7876姓名adams職位clerk薪金1300

員工編號:7902姓名ford職位analyst薪金3000

pl/sql 過程已成功完成。

隱式游標返回游標總數

第乙個應用得知更新的行數 1 隱式游標在正常執 況下更新的行數並不知道,可以根據sql rowcount得知更新的行數 set serveroutput on begin update student set first name d where first name like d dbms out...

Oracle隱式游標和顯式游標

oracle隱式游標和顯式游標,游標是什麼?就是在記憶體開闢的一塊臨時儲存空間。1.1oracle有常用的哪些隱式游標 1.2 oracle隱式游標演示 隱式游標 使用的表為oracle預設自帶的emp表 sql rowcount 影響記錄條數 sql found 是否有滿足條件的記錄 set se...

mysql隱式游標 MYSQL 游標 動態游標示例

mysql沒有隱式和顯式游標之分,所用的游標都是顯式游標,也就是必須要進行定義游標變數,然後按照正規的流程使用,開啟 遍歷 關閉。以下是具體的使用方法。游標定義 1.declare cursor name cursor for select statement 游標操作 open 開啟游標 1.op...