我需要在PL / SQl中提供帮助。
所以我的问题是,以下问题:
有一个名为:temp_table的表,我需要创建一个没有drop / truncate选项的temp_table。它需要因为表格的数据一直在变化。 所以我知道它很奇怪,但这对我的日常工作来说是必要的。
脚本的工作方式如下: 该脚本对表进行文本导入,并给出该表。它使用dblink连接数据库。它有效,但我一直都在使用DROP。但我需要(如果可能的话)创建一个没有drop / truncate的现有表。
有人可以帮助我吗?
非常感谢。
很抱歉没有sql代码,但我认为没有必要。
答案 0 :(得分:0)
我认为你想放弃它,因为你想重新加载它,但你也希望它尽可能接近恒定的正常运行时间?
我会创建两个临时表。你已经有一个名为:
temp_table
创建另一个名为:
temp_table_new
将新数据加载到temp_table_new中,然后对其进行重命名,如下所示:
RENAME TABLE temp_table TO temp_table_old
temp_table_new TO temp_table
然后
drop table temp_table_old
这将是超级快速,停机时间非常短,并且允许您拥有您所描述的功能。
答案 1 :(得分:0)
我认为你想要的概念是外部表。对于外部表,数据驻留在OS文件中,例如CSV。这允许我们交换数据集而不丢弃表。