【发布时间】:2014-01-22 05:10:24
【问题描述】:
teradata有什么办法可以
CREATE OR REPLACE VOLATILE TABLE
AS
(
SELECT
)
如果表已经存在,我需要确保它不会停止
【问题讨论】:
标签: teradata
teradata有什么办法可以
CREATE OR REPLACE VOLATILE TABLE
AS
(
SELECT
)
如果表已经存在,我需要确保它不会停止
【问题讨论】:
标签: teradata
由于易失性表仅在当前会话中可见,因此您应该知道已创建了哪些表。
否则我会先尝试 DROP TABLE 并忽略可能的“对象不存在”错误。
【讨论】:
简答:不。易失性表定义不存储在数据字典表 DBC.Tables 中。与全局临时表不同,易失表的实例化也不由 DBC.TempTables 中的字典表跟踪。
更长的答案:你可以,但这取决于你的 SQL 在哪里执行。
您可以使用SELECT 1 FROM {VolatileTableName} WHERE 1=0; 或SELECT 'X' FROM {VolatileTableName] GROUP BY 1; 之类的方法简单地检查表是否存在,如果对象不存在则捕获错误。如果您没有收到错误,则该对象存在。在不知道代码在哪里运行(BTEQ、存储过程、宏)的情况下,很难解释适当的错误处理。
【讨论】: