0

使用 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 来检查各种表的存在吗?

4

0 回答 0