最近維運有時有超過 500 筆資料
需要在 SQL 指令區查詢
但是把多千筆資料拆開也是很耗時
以固定行數切割文字檔案方法 | 程式狂想筆記
先前有研究這個方法,可以快速切分
但直接查詢全部還是最快
暫存表
正式環境無法使用
神奇大法
1 | with t as |
和1
2
3
4
5
6with t as
(
select (column_value).getstringval() Codes from xmltable('"A","B","C"')
)
SELECT * FROM t
WHERE NOT EXISTS (SELECT 1 FROM M_ITEMS M WHERE codes = M.ITEM_CODE);
主要重點是 select (column_value).getnumberval() Codes from xmltable('1,2,3,4,5')
參考: sql - Oracle- create a temporary resultset for use in a query - Stack Overflow
2021-03-13
Oracle IN 可放超過1000查詢條件方法
雖然要手動組
1 | select * from table where (1,ID) in ( (1,0001),(1,0002)... (1,1999) ) |