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

时间:2017-10-25 11:42:21

标签: sql settings teradata

我应该更改哪些设置才能使Teradata用CREATE TABLE查询替换现有表格?
目前,如果表存在,则尝试CREATE会导致错误。所以在创建之前我必须DROP表。

THX

1 个答案:

答案 0 :(得分: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 ...
;