如何通過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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pytest:通過scope控制fixture的作用範圍
- mybatis 批量新增insert、更新update詳解MyBatis
- Mysql透過workbench對錶進行匯出匯入MySql
- EF Core中通過Fluent API完成對錶的配置API
- 通過JNI對C++進行封裝C++封裝
- SQLServer對錶進行CDC捕捉報錯SQLServer
- 如何通過CRM進行遠端支援?
- Win10系統無法更新怎麼對Windows Update元件進行修復Win10Windows元件
- 于振:如何通過倉儲,對實體進行持久化處理?持久化
- SQLServer對錶進行CDC捕捉時報錯SQLServer
- 通過 Spring 框架如何進行JDBC操作呢?Spring框架JDBC
- 根據某個查詢條件的前50條資料來決定UPDATE語句的更新範圍
- 最新!Win7將不再通過Windows Update下載驅動更新Win7Windows
- 通過串列埠進行通訊 :串列埠
- 如何批量更新資料
- GSMA:通過改善移動覆蓋範圍推動數字革命
- 使用更新補丁對Android Studio進行更新。Android
- 記錄一下MySql update會鎖定哪些範圍的資料MySql
- PFMEA如何定義範圍?
- MySQL更新資料,如何使用updateMySql
- 通過qq進行ip定位
- 大家如何確認測試範圍的?
- 如何對Tuxera NTFS磁碟進行不同格式轉換教程來啦UX
- Mac系統如何通過自帶的工具進行磁碟修復Mac
- openGauss 對錶執行VACUUM
- Oracle通過rman進行克隆,你知道如何做嗎?Oracle
- NetNORAD:通過端到端探測對網路進行故障排除
- 通過進攻心態進行有效的網路防禦
- 如何產生指定範圍的隨機數隨機
- Redis -對大資料量的 key 進行批量操作的一個記錄Redis大資料
- 如何進行有效的績效溝通?
- 分享幾種 Java8 中通過 Stream 對列表進行去重的方法Java
- 如何對 ABAP 資料庫表透過 ABAP 程式碼進行更新和刪除操作試讀版資料庫
- 讓Telescope通過tag監聽不同的
- hibernate進行JDBC批量新增JDBC
- 如何通過 Overlay2 或 Bind 進行ISO 重新構建
- Go 語言之對不同型別的資料進行分組Go型別
- 計算機組成原理--浮點數-原碼補碼錶示範圍計算機
- OPC現場級通訊:範圍內的控制器到控制器規範