使用 bteq 脚本,我想删除在 TPT 加载期间创建的临时错误和日志表,即 ErrorTable1、ErrorTable2、LogTable。
我已经准备了带有 if-else 的 bteq 脚本,如果它存在,它将删除表
.LOGON ${HOST}/${USER},${PASS};
SELECT 1 FROM dbc.TablesV WHERE CONCAT(DataBaseName, '.', TableName) = 'Test.ErrorTable1';
.IF ACTIVITYCOUNT = 0 THEN GOTO CHECK_1;
DROP TABLE Test.ErrorTable1;
.LABEL CHECK_1;
SELECT 1 FROM dbc.TablesV WHERE CONCAT(DataBaseName, '.', TableName) = 'Test.ErrorTable2';
.IF ACTIVITYCOUNT = 0 THEN GOTO CHECK_2;
DROP TABLE Test.ErrorTable2;
.LABEL CHECK_2;
SELECT 1 FROM dbc.TablesV WHERE CONCAT(DataBaseName, '.', TableName) = 'Test.LogTable';
.IF ACTIVITYCOUNT = 0 THEN GOTO DONE;
DROP TABLE Test.LogTable;
.LABEL DONE;
.LOGOFF
.EXIT
我的问题是,在 teradata bteq 中,我可以像上面的脚本一样多次使用 ACTIVITYCOUNT 来检查各种表的存在吗?