1

我在第 7 行收到语法错误 - “BEGIN” for while -

 BEGIN
        IF EXISTS(SELECT 1 from table1)
        THEN
            IF EXISTS(SELECT 1 from table2)
            THEN
            WHILE EXISTS(SELECT 1 FROM table3)
            BEGIN
                BEGIN TRANSACTION;

                COMMIT TRANSACTION;
            END
            END IF;
        END IF;
    END

有什么建议或指示吗?

4

1 回答 1

1

问题正如@Michael 指出的那样,有两种不同类型的方言 - T-SQL 和 WATCOM-SQL,我不得不重写Watcom-SQL 语法中的while 循环以与 Watcom-sql 语法的其余部分兼容 -

BEGIN
        IF EXISTS(SELECT 1 from table1)
        THEN
            IF EXISTS(SELECT 1 from table2)
            THEN
            WHILE EXISTS(SELECT 1 FROM table3) LOOP
            BEGIN
                BEGIN TRANSACTION;

                COMMIT TRANSACTION;
            END LOOP;
            END IF;
        END IF;
    END
于 2013-10-21T18:20:32.417 回答