我要更新多個表中的資料,后綴包含“_org_path”或“_path”的欄位里的值只要是‘/000000/460000/460500/460400’都改為'/000000/460000/460400'
因為表有十多個,有的表里的欄位也不止一個,一個個改挺麻煩的,不知道能不能寫個存盤程序來實作
uj5u.com熱心網友回復:
select 'update '||t.TABLE_NAME||' set '||t.COLUMN_NAME||'=replace('||t.COLUMN_NAME||',''/000000/460000/460500/460400'',''/000000/460000/460400'')where '||t.COLUMN_NAME||' like ''%/000000/460000/460500/460400'';' from user_tab_columns t
where t.COLUMN_NAME like '%_PATH'
and t.TABLE_NAME in ('要處理的表名串列');
你用這個陳述句生成sql然后執行就行了。
專門寫個存盤程序麻煩。
uj5u.com熱心網友回復:
如果會動態SQL就會很方便,不會的話,照著1樓的方式 寫下吧轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/73370.html
標籤:開發
下一篇:無法啟動分布式事務
