teradata有没有办法
CREATE OR REPLACE VOLATILE TABLE
AS
(
SELECT
)
如果表格已经存在,我需要确保它不会停止
答案 0 :(得分:3)
由于易失性表仅在当前会话中可见,因此您应该知道已创建了哪些表。
否则我会先尝试DROP TABLE并忽略可能的“对象不存在”错误。
答案 1 :(得分:1)
简答:否。易失性表定义未存储在数据字典表DBC.Tables中。与Global Temporary表不同,DBC.TempTables中的字典表也不会跟踪volatile表的实例化。
更长的回答:您可以但这取决于您的SQL执行位置。
您可以使用SELECT 1 FROM {VolatileTableName} WHERE 1=0;
或SELECT 'X' FROM {VolatileTableName] GROUP BY 1;
之类的内容检查是否存在表,如果对象不存在则捕获错误。如果您没有收到错误,则该对象存在。在不知道代码运行的位置(BTEQ,存储过程,宏)的情况下,很难解释相应的错误处理。