如何通過rownum對錶的不同範圍進行批量更新update
SQL> desc t_order;
Name Type Nullable Default Comments
---------- ------------- -------- ------- --------
ORDER_ID INTEGER Y
ORDER_NAME VARCHAR2(100) Y
SQL> select * from t_order;
ORDER_ID ORDER_NAME
--------------------------------------- --------------------------------------------------------------------------------
1 訂單1
2 訂單2
3 訂單3
4 訂單4
5 訂單5
6 訂單6
7 訂單7
8 訂單8
9 訂單9
10 訂單10
10 rows selected
SQL>
SQL> update t_order t
2 set t.order_name = t.order_name || 'newnew'
3 where exists (select 1
4 from (select *
5 from (select td.order_id, td.order_name, rownum rn
6 from t_order td) td
7 where td.rn <= 5
8 ) newt
9 where t.order_id = newt.order_id
10 )
11 ;
5 rows updated
SQL> select * from t_order;
ORDER_ID ORDER_NAME
--------------------------------------- --------------------------------------------------------------------------------
1 訂單1newnew
2 訂單2newnew
3 訂單3newnew
4 訂單4newnew
5 訂單5newnew
6 訂單6
7 訂單7
8 訂單8
9 訂單9
10 訂單10
10 rows selected
SQL> rollback;
Rollback complete
SQL>
SQL> update t_order t
2 set t.order_name = t.order_name || 'newnew'
3 where exists (select 1
4 from (select *
5 from (select td.order_id, td.order_name, rownum rn
6 from t_order td) td
7 where td.rn between 6 and 10
8 ) newt
9 where t.order_id = newt.order_id
10 )
11 ;
5 rows updated
SQL> select * from t_order;
ORDER_ID ORDER_NAME
--------------------------------------- --------------------------------------------------------------------------------
1 訂單1
2 訂單2
3 訂單3
4 訂單4
5 訂單5
6 訂單6newnew
7 訂單7newnew
8 訂單8newnew
9 訂單9newnew
10 訂單10newnew
10 rows selected
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-748895/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 對Maxvalue上限範圍分割槽進行spilt操作
- oracle 對錶中的記錄進行大批量刪除Oracle
- 自動生成對錶進行插入和更新的儲存過程的儲存過程 (轉)儲存過程
- UPDATE查詢結果範圍內的資料
- Mysql透過workbench對錶進行匯出匯入MySql
- mybatis 批量新增insert、更新update詳解MyBatis
- 通過JNI對C++進行封裝C++封裝
- 如何通過CRM進行遠端支援?
- EF Core中通過Fluent API完成對錶的配置API
- oracle表對錶的多行更新Oracle
- 于振:如何通過倉儲,對實體進行持久化處理?持久化
- oracle 使用rownum進行分頁的陷阱Oracle
- SQLServer對錶進行CDC捕捉時報錯SQLServer
- SQLServer對錶進行CDC捕捉報錯SQLServer
- sql對錶資料進行復制SQL
- Win10系統無法更新怎麼對Windows Update元件進行修復Win10Windows元件
- adb通過WiFi對手機進行除錯WiFi除錯
- 通過串列埠進行通訊 :串列埠
- Oracle中rownum對錶的掃描方式效能上的影響深入探究Oracle
- oracle 使用rownum進行分頁的陷阱(2)Oracle
- 最新!Win7將不再通過Windows Update下載驅動更新Win7Windows
- 如何批量更新資料
- 記錄一下MySql update會鎖定哪些範圍的資料MySql
- 通過qq進行ip定位
- 使用APT對redhat進行更新(轉)APTRedhat
- 如何對Tuxera NTFS磁碟進行不同格式轉換教程來啦UX
- MySQL更新資料,如何使用updateMySql
- 利用rowid 進行大批量資料更新 -- 轉帖
- mysql語句:批量更新多條記錄的不同值[轉]MySql
- Mac系統如何通過自帶的工具進行磁碟修復Mac
- Oracle通過rman進行克隆,你知道如何做嗎?Oracle
- ibatis對oracle資料庫的批量更新和批量插入的操作BATOracle資料庫
- 如何產生指定範圍的隨機數隨機
- 使用更新補丁對Android Studio進行更新。Android
- 【Oracle】-【ROWNUM與索引】-索引對ROWNUM檢索的影響Oracle索引
- 通過 HTTP 頭進行 SQL 注入HTTPSQL
- 使用oracle decode對錶字元列進行order by 排序Oracle字元排序
- 通過SQL Server對上傳檔案內容進行查詢SQLServer