如果不使用BTEQ,如何在Teradata中使用IF语句

如果不使用BTEQ,如何在Teradata中使用IF语句,teradata,Teradata,我正在尝试创建一些部署工具,我不想使用BTEQ。我一直在尝试在PowerShell中使用Teradata.Client.Provider,但在创建表时遇到语法错误 [Teradata Database][3706]语法错误:应在 ';' 以及“如果”关键字 我宁愿不使用BTEQ,因为我还没有发现它在我们创建的其他部署工具中工作得很好,需要一些技巧。有什么可以避免使用该工具的方法吗?什么解析错误 创建将失败,因为myclid和VARCHARmax中的双整数在ExceptionOutput中,这是T

我正在尝试创建一些部署工具,我不想使用BTEQ。我一直在尝试在PowerShell中使用Teradata.Client.Provider,但在创建表时遇到语法错误

[Teradata Database][3706]语法错误:应在 ';' 以及“如果”关键字

我宁愿不使用BTEQ,因为我还没有发现它在我们创建的其他部署工具中工作得很好,需要一些技巧。有什么可以避免使用该工具的方法吗?

什么解析错误


创建将失败,因为myclid和VARCHARmax中的双整数在ExceptionOutput中,这是Teradata中的未知数据类型。

我更正了这些错误,但出现了以下错误:[Teradata Database][3706]语法错误:应在“;”之间以及“如果”关键字。我更新了问题以反映这一点。当然,如果是BTEQ语法的一部分,则需要将逻辑移到PowerShell中。运行Select,检查它是否返回一行,否则运行CREATE…Ok。这证实了我的理解,即在任何工具中,除了通过BTEQ或在执行之前执行我方的逻辑之外,没有其他工具可以使用它。
SELECT * FROM DBC.TablesV WHERE DatabaseName = DATABASE AND TableName = 'MyTable';
IF ACTIVITYCOUNT > 0 THEN GOTO EndStep1;

CREATE MULTISET TABLE MyTable ,
    NO FALLBACK ,
    NO BEFORE JOURNAL,
    NO AFTER JOURNAL,
    CHECKSUM = DEFAULT,
    DEFAULT MERGEBLOCKRATIO
        (
            MyColId         INTEGER GENERATED ALWAYS AS IDENTITY
                                                    (START WITH 1
                                                    INCREMENT BY 1
                                                    MINVALUE 0
                                                    MAXVALUE 2147483647 
                                                    NO CYCLE)
                                                    NOT NULL,
            MyColType           VARCHAR(50)     NULL,
            MyColTarget     VARCHAR(128)    NULL,
            MyColScriptName VARCHAR(256)    NULL,
            MyColOutput     VARCHAR(64000)  NULL,
            isMyColException    BYTEINT(1)      NULL,
            ExceptionOutput         VARCHAR(64000)  NULL,
            MyColBuild          VARCHAR(128)    NULL,
            MyColDate           TIMESTAMP       NOT NULL
        )
    PRIMARY INDEX PI_MyTable_MyColLogId(MyColLogId);

LABEL EndStep1;