当前位置: 首页 > 知识库问答 >
问题:

为什么sybase中的以下sql出现语法错误?

东方栋
2023-03-14

我在第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

有什么建议或建议吗?

共有1个答案

盛辰沛
2023-03-14

问题是@Michael指出,有两种不同类型的方言——T-SQL和WATCOM-SQL,我必须重写WATCOM SQL语法中的while loop,以便与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
 类似资料:
  • 问题内容: 我已经编写了一条准备好的语句,但是它在?处给出了语法错误。我无法理解到底出了什么问题,它应该传递电影名称并作为该电影的导演获得结果 问题答案: 问题在这里: 您不应该将SQL传递给,因为准备好的语句已经包含SQL ,且占位符由的值代替。 用:

  • 问题内容: 我正在尝试使用DB2运行一个简单的SQL语句,并且遇到了一些问题。我想在txt / db2文件中有一个脚本,并让引擎处理所有命令 这是脚本: 当我运行db2 -f / pathtofile时,我得到: 我究竟做错了什么?我的脚本有问题吗?另外,为什么没有“;”也能正常工作 我的陈述结尾处的终止符? 谢谢, 问题答案: 可能会有帮助, http://www.uc.edu/R/r25/do

  • 错误在: "公共类MapsActive扩展FragmentActive实现OnMapReadyCallback" 它的下划线为红色,表示要么声明我的类为“抽象”,要么实现一个抽象方法。 提示说我可以实现这个方法。这是什么意思?

  • 问题内容: 这个问题已经在这里有了答案 : prepareStatement语法错误 (2个答案) 2年前关闭。 我已经编写了一条准备好的语句,但是它在?处给出了语法错误。我无法理解到底出了什么问题,它应该传递电影名称并作为该电影的导演获得结果 问题答案: 问题在这里: 您不应该将SQL传递给,因为已准备好的语句已经包含SQL ,且占位符由的值代替。 使用:

  • 问题内容: 好的,我有一个非常简单的mysql数据库,但是当我尝试通过mysql-admin运行此查询时,出现奇怪的错误 INSERT INTO自定义报告(研究,类型,模式,选择,描述)VALUES(‘1’,‘2’,‘3’,‘4’,‘5’); 错误: 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以便在“选择,描述” VALUES(“ 1”,“ 2”,“

  • 我已经写了一个准备好的语句,但它给出了一个语法错误?。我不明白出了什么问题。它应该传递一个电影名称,并作为该电影的导演获得结果