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...