1. 程式人生 > >oracle遊標的更新與刪除資料

oracle遊標的更新與刪除資料

通過使用顯示遊標,不僅可以一行一行地處理SELECT語句的結果,而且也可以更新或刪除當前遊標行的資料。注意,如果要通過遊標更新或刪除資料,在定義遊標時必須要帶有FOR UPDATE 子句,語法如下:

cursor cursor_name is select ...for update;

在提取了遊標資料之後,為了更新或刪除當前遊標行資料,必須在update或delete語句中引用where current of子句,語法如下:

update table_name set column=...where current of cursor_name;
delete table_name where current of cursor_name;

1.使用遊標更新資料

下面以給工資低於2000的僱員增加100元工資為例,說明使用顯示遊標更新資料的方法。示例如下:
declare
cursor emp_cursor is 
select ename,sal from emp for update;
v_ename emp.ename%type;--定義變數
v_sal emp.sal%type;
begin
open emp_cursor;--開啟遊標
loop
fetch emp_cursor into v_ename,v_sal;--提取遊標資料賦值給變數
exit when emp_cursor%notfound;
if v_sal <2000 then --當變數v_sal 小於2000時執行更新操作
update emp set sal=sal+100 where currentof emp_cursor;
end if ;
end loop;
close emp_cursor;--關閉遊標
end;

2.使用遊標刪除資料

下面以解僱部門號為30的所有僱員為例,說明使用顯示遊標刪除資料的方法,示例如下:
declare
cursor emp_cursor is 
select ename,sal ,deptno from emp for update;
v_ename emp.ename%type;--定義變數
v_sal emp.sal%type;
v_deptno emp.deptno%type;
begin
open emp_cursor;--開啟遊標
loop
fetch emp_cursor into v_ename,v_sal,v_deptno;--提取遊標資料賦值給變數
exit when emp_cursor%notfound;
if v_deptno =30 then --當變數v_deptno等於30時執行刪除操作
delete from  emp where current  of emp_cursor;
end if ;
end loop;
close emp_cursor;--關閉遊標
end;

相關推薦

oracle遊標更新刪除資料

通過使用顯示遊標,不僅可以一行一行地處理SELECT語句的結果,而且也可以更新或刪除當前遊標行的資料。注意,如果要通過遊標更新或刪除資料,在定義遊標時必須要帶有FOR UPDATE 子句,語法如下:

八、插入、更新刪除資料

插入資料基本語法:insert into table_name(column_list) values(value_list);同時插入多條記錄:insert into table_name(column_list) values(value_list1),(value_list2),...,(value_l

資料庫學習總結(三)——新增、更新刪除資料

新增、更新與刪除資料 新增資料 更新資料 刪除資料 新增資料 insert語句中指定欄位名 insert into 表名(欄位名1,欄位名2,…) values (值1,值2,…); 注意:欄位名與欄位值的順序,型別必須互相匹

第8章 插入、更新刪除資料

8.1 插入資料 INSER INTO的各種插入法 8.2 更新資料 UPDATE可以更新表中的記錄。基本句法如下: UPDATE table_name SET column_name1=value1,column_name1=value2,... WHERE(condition);

MySQL-插入、更新刪除資料

資料庫通過插入、更新和刪除等方式來改變表中的記錄。插入資料是向表中插入新的記錄,通過insert語句來實現。更新資料時改變表中已經存在的資料,使用update語句來實現。刪除資料是刪除表中不再使用的資料,通過delete語句來實現。 插入資料 插入資料是向表中插入新的記錄。

MySQL資料庫 之 插入、更新刪除資料

一、插入資料 MySQL 中使用 insert 語句來向資料庫表中插入新的資料記錄。 ☆ 為表的所有欄位插入資料 insert into tb_name (col_list) values (value_list) 建立一個數據表 person

Oracle 使用遊標修改或刪除資料

declare -- 定義遊標 cursor mycur is select empno,job from empnew for update; begin for record in mycur loop dbms_output.put_line(''||record.em

oracle資料庫中sql語言建立表,更新刪除資料

一sql語言的分類 sql語言分為4類:DQL(資料查詢語言),DML(資料操縱語言),資料定義語言(DDL),資料控制語言(DCL)。 二資料定義語言 資料定義語言用於建立,刪除,修改資料庫中的各種物件,物件比如-表,索引,檢視,同義詞、聚簇等 CREATETABLE/

恢復ORACLE被誤更新刪除資料的方法

今天嚇的頭疼,似乎是感冒了。本以為是在PPR環境做的操作,做完以後,定睛一看,WC,是PROD環境,嚇的我熱汗直流。下班後開始找恢復方法,終於找到了。頭疼欲裂,真的是嚇出病了。 刪除SQL如下: –delete * FROM witmsup_WORK whe

[Playframework+JPA+mysql] 資料更新刪除

說明: 刪除與更新用的方法類似,這裡僅以更新資料為例。 方法一,Play!封裝的JPA: 查詢後,直接更新欄位並儲存 long id = 1; DogEntity entity = DogEntity.findById(id); entity.name =

Oracle 觸發器 插入,更新刪除,資料同步,兩表同步

create or replace trigger UserToTemp after insert or update or delete on user_info for each row declare     integrity_error exception;     errno           

一步一步學MySQL----7 插入、更新刪除資料

7.1 插入完整資料記錄 語法: insert into table_name(field1,field2,field3,……)values(value1,value2,value3,……); 例如: 我們先建立一張user表,如下: mysq

MySQL 新增、更新刪除資料

一、新增資料 在MySQL中使用INSERT新增資料分為: 為表中所有欄位新增資料 為表的指定欄位新增資料 同時新增多條資料 1.為表中所有欄位新增資料 使用insert的MySQL語句為: INSERT INTO 表名(欄位名1,欄位名2,,,,,欄位名

ORACLE資料庫更新大批量資料案例

更新大批量資料的背景: 使用者需要將VIP的微信標識,傳給使用者的ERP會員檔案中,已知存量資料約50W行資料,線下的微信標識資料我們開發提供了openid和erpid的csv檔案,erpid和線下的會員檔案id對應,需要將openid也更新到會員檔案裡。

《Spring Data 官方文件》5.6 儲存, 更新, 以及刪除資料

package org.spring.cassandra.example; import java.io.Serializable; import java.util.Date; import org.springframework.cassandra.core.Ordering; impo

thinkphp更新刪除資料

$Dao = M('User'); $data['email'] = "..."; //需要更新的資料 $condition['username'] = "admin";//條件 $Dao->where($condition)->save($data);//更新username=admin的ema

MongoDB五(更新刪除文件)

一、 更新文件 使用方法:update()方法更新文件的值 例如: db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'N

MariaDB 插入&更新&刪除資料(8)

MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可MariaDB的目的是完全相容MySQL,包括API和命令列,MySQL由於現在閉源了,而能輕鬆成為MySQL的代替品.在儲存引擎方面,使用XtraDB來代替MySQL的InnoDB,MariaDB由MySQL的創始人

Spring整合MongoDB更新刪除資料的返回值

java框架中刪除資料庫的資料是有int返回值的,返回的是受影響的行數。     在Spring整合MongoDB的MongoTemplate模版中也有返回受影響的行數。 刪除: int resul

oracle更新字元型資料中的純數字為定長(不足左邊補0)

之前需求文件的錯造成了原本3位數的數字不是定長的,後來發現需求文件把需求記錯了,這個欄位中的純數字必須是3位的.這個欄位目前已有數千行資料,有字母組合,字母數字組合及純數字,位數都不是定長的. 所以只能寫個指令碼來更新,但oracle中是沒有判斷是否是數字或字母型別的字元型資