【问题标题】:How to create ot replace table如何创建或替换表
【发布时间】:2014-01-22 05:10:24
【问题描述】:

teradata有什么办法可以

CREATE OR REPLACE VOLATILE TABLE 
AS
(
SELECT 

)

如果表已经存在,我需要确保它不会停止

【问题讨论】:

    标签: teradata


    【解决方案1】:

    由于易失性表仅在当前会话中可见,因此您应该知道已创建了哪些表。

    否则我会先尝试 DROP TABLE 并忽略可能的“对象不存在”错误。

    【讨论】:

      【解决方案2】:

      简答:不。易失性表定义不存储在数据字典表 DBC.Tables 中。与全局临时表不同,易失表的实例化也不由 DBC.TempTables 中的字典表跟踪。

      更长的答案:你可以,但这取决于你的 SQL 在哪里执行。

      您可以使用SELECT 1 FROM {VolatileTableName} WHERE 1=0;SELECT 'X' FROM {VolatileTableName] GROUP BY 1; 之类的方法简单地检查表是否存在,如果对象不存在则捕获错误。如果您没有收到错误,则该对象存在。在不知道代码在哪里运行(BTEQ、存储过程、宏)的情况下,很难解释适当的错误处理。

      【讨论】:

        猜你喜欢
        • 2018-06-10
        • 2010-11-03
        • 1970-01-01
        • 2010-11-14
        • 1970-01-01
        • 1970-01-01
        • 2016-12-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多