开发者社区> 问答> 正文

Mysql的if exists语法方面的问题

我在mysql的存储过程里这么写,
13
执行报错。
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 8
如果把if exists里边嵌套的if块去掉就没问题:
14
难道是mysql里,If exists块里不能再嵌套if 语句?求大神指点。

展开
收起
落地花开啦 2016-02-11 13:57:43 7042 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    将sql 的分隔符号从;变为// 这样就不会你在输入存储过程的过程中,一输入; mysql就把前面的执行了呀。改变后,只有等到//才会执行。等写完存储过程,再将分隔符换回;
    `delimiter //
    CREATE PROCEDURE TEMP ()
    BEGIN

    declare V_RETUR int;
     begin
     IF EXISTS(SELECT 1 FROM dual where 1=1) then
             IF 1=1 then
             set V_RETUR = 1;
         select V_RETUR;
             END if;
      END if;
     end;

    END//
    delimiter ;
    call temp()`

    2019-07-17 18:40:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像