Teradata:用“CREATE TABLE”替换现有表

问题描述 投票:1回答:1

我应该更改什么设置才能使Teradata用CREATE TABLE查询替换现有表? 目前,如果表存在,则尝试CREATE会导致错误。因此,在创建它之前,我必须在桌子上使用DROP

谢谢

sql settings teradata
1个回答
1
投票
REPLACE PROCEDURE DROP_IF_EXISTS(IN table_name VARCHAR(60),IN db_name VARCHAR(60))
BEGIN
  IF EXISTS(SELECT 1 FROM dbc.tables WHERE databasename=db_name AND tablename=table_name) 
  THEN
    CALL DBC.SysExecSQL('DROP TABLE ' || db_name ||'.'|| table_name);
  END IF;
END;

在您的DDL脚本中:

call drop_if_exists('$your_table_name','$your_db_name')
;
database $your_db_name;
create table $your_table_name ...
;
© www.soinside.com 2019 - 2024. All rights reserved.