Sql Oracle:交换表名
我需要每天加载一个包含约1800万条记录的表,为了最大限度地减少客户端的停机时间,我们可以加载一个临时文件,然后在加载后交换表名。请参阅下面的流程 表A是原始表,表TMP是临时表Sql Oracle:交换表名,sql,oracle,Sql,Oracle,我需要每天加载一个包含约1800万条记录的表,为了最大限度地减少客户端的停机时间,我们可以加载一个临时文件,然后在加载后交换表名。请参阅下面的流程 表A是原始表,表TMP是临时表 负载表TMP 将表A重命名为表A_V1 将表TMP重命名为表A 将表A_V1重命名为表TMP 截断表TMP以准备下一次加载 还有其他交换表名的方法吗?或者其他方法来实现这一点 非常感谢。这是最好的方法。如果愿意,可以删除并重新创建表,而不是截断。祝你好运 使用同义词 首先加载到表格a\u YYYYMMDD,重新创建约束
非常感谢。这是最好的方法。如果愿意,可以删除并重新创建表,而不是截断。祝你好运 使用同义词 首先加载到
表格a\u YYYYMMDD
,重新创建约束等
那么
最后,如果您想删除以前的表A_yyyymmdd而不是实际重命名表,您可以有两个表,
A1
和A2
,以及两个同义词,A
和TEMP
,然后每天在表之间切换
老实说,我认为重命名表可能也是一种有效的方法,但既然您要求提供其他方法,我想我会插手。作为使用相同概念的替代方法,您可以以类似的方式创建视图。谢谢大家的回答^_^
create or replace synonym tablea for tablea_yyyymmdd