oracle存储过程,求大神解答啊啊啊啊啊

[复制链接]
查看11 | 回复2 | 2021-1-27 06:19:02 | 显示全部楼层 |阅读模式
我要更新多个表中的数据,后缀包含“_org_path”或“_path”的字段里的值只要是‘/000000/460000/460500/460400’都改为'/000000/460000/460400'
因为表有十多个,有的表里的字段也不止一个,一个个改挺麻烦的,不知道能不能写个存储过程来实现

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:19:02 | 显示全部楼层
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'';'fromuser_tab_columnst
wheret.COLUMN_NAMElike'%_PATH'
andt.TABLE_NAMEin('要处理的表名列表');
你用这个语句生成sql然后执行就行了。
专门写个存储过程麻烦。

回复

使用道具 举报

千问 | 2021-1-27 06:19:02 | 显示全部楼层
如果会动态SQL就会很方便,不会的话,照着1楼的方式写下吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行