在 proc sql 中删除多个表(通过 teradata)

drop multiple tables in proc sql (via teradata)

我尝试使用以下代码删除多个表,但出现错误。

代码:

    PROC SQL ;
        CONNECT TO teradata AS TERADATA (server=dbc  mode=teradata) ;
        EXECUTE (drop table TABLE_NAME1, TABLE_NAME2, TABLE_NAME3  ) BY teradata ;
        DISCONNECT FROM teradata ;
    QUIT ;

错误: 语法错误:期待 NAME1 和 TABLE

之间的内容

如果您在 Teradata 中查看 dropdocumentation,您会发现它仅在一个 table:

上运行

Drops the definition for the specified table from the data dictionary and drops the object from its containing database or user, depending on the keyword specified.

大多数数据库都是这样工作的。你需要做三滴:

drop table TABLE_NAME1;
drop table TABLE_NAME2;
drop table TABLE_NAME3;

您可以使用一条命令删除数据库中的所有对象:

DELETE DATABASE name_database;

而且视图、触发器、存储过程、用户定义的函数和宏也将被删除。