gpt4 book ai didi

Oracle 从主表填充备份表

转载 作者:行者123 更新时间:2023-12-01 08:21:02 25 4
gpt4 key购买 nike

我当前分配到的程序要求我在实际处理之前将表的内容复制到备份表。

在代码审查期间,一位同事指出

INSERT INTO BACKUP_TABLE
SELECT *
FROM PRIMARY_TABLE

风险太大,因为表可能有不同的列和不同的列顺序。

我也受到不创建/删除/重命名表的约束。 ~叹息~

表中的列预计会发生变化,因此简单地对列名进行硬编码并不是我正在寻找的真正解决方案。

我正在寻找有关完成这项工作的合理无风险方式的想法。

最佳答案

备份表会留下来吗?它是永久保留数据,还是只是当前值的副本?

太糟糕了无法创建/删除/重命名/复制。否则,如果它是短期的,只是在出现问题时使用,那么您可以在处理开始时将其删除并执行类似的操作

create table backup_table as select * from primary_table;

您最好的选择可能是使选择明确,如
insert into backup_table (<list of columns>) select <list of columns> from primary_table;

您可以通过从数据字典构建 SQL 字符串来生成它,然后立即执行。但是,如果backup_table 不包含primary_table 中的所有重要列,您仍然会面临风险。

可能只是想让它明确,如果backup_table 不存在,或者primary_table 中的任何列不在backup_table 中,则会引发重大错误。

关于Oracle 从主表填充备份表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/305797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com