1. 程式人生 > >批量提交(plsql,遊標)

批量提交(plsql,遊標)

 需求:批量提交修改資料,其中需要修改的資料有 23萬多條。

declare
cursor l_c1 is select u.id from 系統名(可不寫).表名 u where 條件;    //定義遊標
type t1 is table of pls_integer;
  l_t1 t1;
begin
open  l_c1;
loop 
  fetch l_c1 bulk collect into l_t1 limit 1000;   //限制一次提交的數量
  forall i in 1..l_t1.count
update 系統名.表名t set t.欄位="值" where t.id = l_t1(i);
commit;
exit when l_t1.count=0;
end loop;
close l_c1;
commit;
end;
例項:

declare
cursor l_c1 is select u.id from ttt.tbl_base u where u.name='7';
type t1 is table of pls_integer;
  l_t1 t1;
begin
open  l_c1;
loop 
  fetch l_c1 bulk collect into l_t1 limit 1000;
  forall i in 1..l_t1.count
update ttt.tbl t set t.value= 'SPE01' where t.id = l_t1(i);
commit;
exit when l_t1.count=0;
end loop;
close l_c1;
commit;
end;

備註:

DBA在生產庫之後,會報錯:ora-01722。

DBA以上例項進行了修改:

declare
cursor l_c1 is select u.id from ttt.tbl_base u where u.name='7';
type t1 is table of ttt.tbl_base .id%type;   //欄位型別問題(修改了這裡)。
                                              //資料庫的欄位id的型別是 varchar2
  l_t1 t1;
begin
open  l_c1;
loop 
  fetch l_c1 bulk collect into l_t1 limit 1000;
  forall i in 1..l_t1.count
update ttt.tbl t set t.value= 'SPE01' where t.id = l_t1(i);
commit;
exit when l_t1.count=0;
end loop;
close l_c1;
commit;
end;

相關推薦

批量提交plsql遊標

 需求:批量提交修改資料,其中需要修改的資料有 23萬多條。 declare cursor l_c1 is select u.id from 系統名(可不寫).表名 u where 條件; //定義遊標 type t1 is table of pls_integer;

Servlet的5種方式實現表單提交註冊小功能後臺獲取表單資料

用servlet實現一個註冊的小功能 ,後臺獲取資料。 註冊頁面:    註冊頁面程式碼 : <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title&g

PHP表單getpost提交方式

PHP 表單處理 PHP 超全域性變數 $_GET 和 $_POST 用於收集表單資料(form-data)。 $_GET 是通過 URL 引數傳遞到當前指令碼的變數陣列。$_POST 是通過 HTTP POST 傳遞到當前指令碼的變數陣列。 有一點很重要的事情值得

建立表空間、建立表子查詢建立表、表的約束、事務、資料庫物件檢視、序列、索引、同義詞PLSQL程式設計、if迴圈、資料的匯入匯出備份

DDL語句管理表 DML管理表資料 1)語法: 建立 和 刪除 表空間 / 建立使用者 create tablespace 表空間的名稱 datafile '檔案路徑' //這個檔案是儲存在伺服器端的電腦上的

mysql儲存過程procedure 觸發器trigger 遊標cusor 控制語句條件迴圈

什麼是mysql儲存例程? 儲存例程是儲存在資料庫伺服器中的一組sql語句,通過在查詢中呼叫一個指定的名稱來執行這些sql語句命令. 為什麼要使用mysql儲存過程? 我們都知道應用程式分為兩種,一種是基於web,一種是基於桌面,他們都和資料庫進行互動來完成資料

單選 性別選項提交問題

//html頁面<p class="fix"> <label class="word word2"></label> <label class="sex current" data-value="1" oncli

文件讀取草稿excelcsv

string guid dwr lda clas isn urn datarow arraylist using NPOI.XSSF.UserModel; using System; using System.Collections.Generic; using Syst

[51NOD1524] 可除圖的最大團組合dp

鏈接 ble spa 組合 sin ons .html color 出現的次數 題目鏈接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1524 題意:略。 這個題相當於是找出現最長的整除鏈。

information_schema系列八事物

開啟 mysql 獲取 排它 lin tin 查詢 pre join 這個系列的文章主要是為了能夠讓自己了解MySQL5.7的一些系統表,統一做一下備註和使用,也希望分享出來讓大家能夠有一點點的受益。 第八篇主要看一下一下幾系統表: 今天我們主要看一下MySQL inf

歸並排序&&逆序對codves16884163

如果 排序 範圍 eight 註意 sam def 序列 pad 歸並排序 歸並排序采用的是分治的思想 1、劃分問題:把序列分為元素個數盡量相等的兩半 2、遞歸求解:把兩半分別排序 3、合並問題:把兩個有序的序列合並為一個 對於第三個問題,我們可以從兩個序列中最小的元素開始

[2017浙工大之江學院決賽 L] qwb與整數對離線

online con ons print include main amp i++ max 題目鏈接:http://115.231.222.240:8081/JudgeOnline/problem.php?cid=1005&pid=11 這題不會,看了檸檬巨的題解才

CO-PRIME初探 莫比烏斯NYOJ1066經典gcdab=1

put size 兩個 test hat ott == clas otto CO-PRIME 時間限制:1000 ms | 內存限制:65535 KB 難度:3 描寫敘述 This problem is so easy! Can you solve it

java:容器/集合MapHashMapTreeMap

常用 接口 blog ava keyset 常用方法 system entryset 方法 HashMap: *Map接口:采用是鍵值對的方式存放數據。無序 *常見的實現類: *--HashMap:基於哈希表的 Map 接口的實現。 *常用的構造方法: * HashMap(

js 通過瀏覽器直接打開應用程序IOSAndroid並判斷瀏覽器內核

agent rtt 程序 javascrip ref java lock roi col 本功能主要用於手機端,如果手機未安裝該APP,則跳轉至下載頁面;否則,直接打開手機中的APP。 <div style="position:absolute; top:84%;

js源碼 模仿 jquery的ajax的獲取數據getpost 的請求封裝

{} req turn eva syn 動作 取字符串 func ring function ajax(obj){ // 默認參數 var defaults = { type : ‘get‘, data : {}, url : ‘#‘, dataType : ‘text‘,

JS面向對象封裝繼承

通過 ray 混合 字母 顯示 彈出 pan rip http 在六月份找工作中,被問的最多的問題就是: js面向對象,繼承,封裝,原型鏈這些,你了解多少? 額,,,我怎麽回答呢, 只能說,了解一些,不多不少,哈哈哈哈,當然,這是玩笑話。 不過之前學過java,來理解這些還

HDU 1308 What Day Is It?模擬日期

else 天數 pre names 一點 val return can 星期幾 解題報告:輸入一個年月日,讓你求出那一天是星期幾,但是做這題之前必須先了解一點歷史。首先在1582年之前,判斷是否是閏年的標準是只要能被四整除就是閏年, 然後在1752年9月2號的後的11天被

Linux壓縮解壓縮unziptar

哪些 family top -s dir 處理 根目錄 cti font unzip tar 常用解壓縮命令: tar -zxvpf:解壓縮 tar -zcvpf: 壓縮

Eclipse中自動添加註釋作者時間

ava 進入 new java 模式 window templates nts 自動 方法一:Eclipse中設置在創建新類時自動生成註釋 windows-->preference Java-->Code Style-->Code Templates co

POJ 1426 Find The MultipleDFSBFS

ons pro sum 數字 there lin queue hat 一個數 Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal