oracle部分数据替换

请教大神:
现在假如说我查一条数据,select name,age,address from student;
查出来的name为'小明',现在我在后台将此字段替换为'小红',其他数据不 变,插入一条新数据.
因为现在有大量表需要这么做,所以感觉频繁建立链接会有性能问题,有什 么好的方法,我不用将数据返回到后台,直接在sql中替换,然后重新插入. 存储过程可以实现吗?或者其他的方法 谢谢!!~~

阅读 2.4k
2 个回答

存储过程可以实现,根据你的问题描述,我理解的是你需要更新是指定的字段的数据其他字段数据不变然后作为新数据插入原表。
你可以复制当前表结构和数据创建一个新的表,然后批量修改指定字段数据,再把新表作为数据插入原表即可。

CREATE TABLE table_new AS SELECT * FROM table_old;
INSERT INTO table_old SELECT * FROM table_new;

问题不是很清晰

更新的数据来源如果必须是外部传入,不能从数据库获取,那么只能一次性传入多个来解决

如果可以从数据库获取更新的数据,参考 sql 连表更新

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题