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