问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql存储过程中的 sql语句符号问题

发布网友 发布时间:2022-04-13 06:03

我来回答

1个回答

热心网友 时间:2022-04-13 07:33

不要用斜杠

我看看我这个。没问题

PROCEDURE Pro_SelectBidUnit_NOWTIME_ALL(IN P_ID      VARCHAR(64),
                                        IN P_IFID    VARCHAR(64),
                                        IN P_USERID  VARCHAR(64),
                                        IN BEGINTIME DATETIME,
                                        IN ENDTIME   DATETIME
                                        )
BEGIN
  DECLARE v_sql VARCHAR(4000);
  DECLARE lev   INT;

  SET lev = 1;
  IF P_USERID != ''
  THEN
    DROP TABLE IF EXISTS tmp3;
    CREATE TABLE tmp3(
      IFID VARCHAR(40),
      IFNAME VARCHAR(50),
      INS_IFID VARCHAR(40),
      levv INT
    );
    INSERT tmp3
    SELECT IFID
         , IFNAME
         , INS_IFID
         , 1
    FROM
      institutionalframework
    WHERE
      INS_IFID = P_IFID;
    WHILE ROW_COUNT() > 0
    DO
      SET lev = lev + 1;
      INSERT tmp3
      SELECT t.IFID
           , t.IFName
           , t.INS_IFID
           , lev
      FROM
        institutionalframework t
      INNER JOIN tmp3 a
      ON t.INS_IFID = a.IFID AND levv = lev - 1;
    END WHILE;
    INSERT tmp3
    SELECT IFID
         , IFNAME
         , INS_IFID
         , 0
    FROM
      institutionalframework
    WHERE
      IFID = P_IFID;
  END IF;
  SET @v_sql = concat('
  SELECT a.ID
     , a.BIDTOTALPRICES
     , a.BOOLTENDER
     , BIDINVITINGUNIT
     , ITEMNAME
     , BIDINVITINGNUMBER
     , ITEMRATIFYUNIT
     , RATIFYNUMBER
     , BIDINVITINGUSER
     , BIDINVITINGPHONE
     , STARTTIME
     , ITEMSTYPE
     , ENTRUSTAMOUNT
     , ENTRUSTDATE
     , NOTICETIMEONE
     , NOTICETIMETWO
     , NOTICETIMETHREE
     , SELLBIDFILETIME
     , ITEMPART
     , RECORDUSER
     , RECORDTIME
     , BIDSTART
     , a.MEMO
     , FLOWSTART
     , b.IFID
     , b.IFNAME
     , c.ID AS DICID
     , c.ITEMTEXT
     , PRINCIPALUSER
     , PRINCIPALPHONE
     , PRINCIPALEMAIL
    ,SYNCHRONFLAG
FROM
  tenders_bidinvitinguni a
INNER JOIN INSTITUTIONALFRAMEWORK b
ON a.ITEMPART = b.IFID
INNER JOIN TENDERS_DICTIONARYITEM c
ON c.ID = a.ITEMSTYPE
WHERE a.BIDSTART = 1 ');
  IF BEGINTIME != ''
  THEN
    SET @v_sql = concat(@v_sql, ' and a.STARTTIME BETWEEN ');
    SET @v_sql = concat(@v_sql, ' date(''');
    SET @v_sql = concat(@v_sql, BEGINTIME);
    SET @v_sql = concat(@v_sql, ''')');
    SET @v_sql = concat(@v_sql, ' AND date(''');
    SET @v_sql = concat(@v_sql, ENDTIME);
    SET @v_sql = concat(@v_sql, ''')');
  ELSE
    SET @v_sql = concat(@v_sql, '  a.STARTTIME BETWEEN curdate() AND date_add(curdate(), INTERVAL 0 DAY) ');
  END IF;
  IF P_ID != ''
  THEN
    SET @v_sql = concat(@v_sql, ' and a.ID = ');
    SET @v_sql = concat(@v_sql, P_ID);
    SET @v_sql = concat(@v_sql, '');
  END IF;
  IF P_USERID != ''
  THEN
    SET @v_sql = concat(@v_sql, ' AND EXISTS (SELECT 1
              FROM
                tmp3 f
              WHERE
                f.IFID = b.IFID)');
  END IF;
  SET @v_sql = concat(@v_sql, ' order by a.RECORDTIME asc');
  PREPARE s1 FROM @v_sql;
  EXECUTE s1;
  DEALLOCATE PREPARE s1;
END

MySQL分隔符的使用方法MySQL不使用逗号

在MySQL中,分号(;)是SQL语句的默认分隔符,但当在SQL语句中使用了其他语句块(如存储过程、函数等)时,分号就不能成为分隔符了。这是因为分号既是SQL语句的分隔符,又是存储过程的语句结束标志,导致执行存储过程时会因为分号而出现错误。因此,MySQL提供了自定义分隔符的功能,使得用户可以在SQL语句...

设置存储过程中语句结束符的命令是

设置存储过程中语句结束符的命令是DELIMITER。在MySQL等数据库管理系统中,DELIMITER是一个命令提示符,用于指定命令的结束。在创建存储过程或函数时,由于这些对象内部可能包含多条语句,每条语句通常以分号(;)结束,这就需要一种方法来区分存储过程或函数内部的分号与整个命令序列的结束。这时,就可以使用DE...

pandas写mysql报语法错误

一、问题原因 mysql数据库的存储过程创建语句之中需要使用begin表示存储过程要执行的语句从这里开始,在结尾使用end表示存储过程的语句要结束了。而在mysql数据库之中无论是查询还是添加语句都要使用分号去分隔,但是在存储过程之中创建sql语句的时候却被mysql数据库的编译器把分号当做了结束语句,没有end就...

mysql存储过程,触发器end后要跟分号吗?

mysql存储过程,触发器end后需要加分号,否则会提示错误。因为这些也是sql语句,mysql规定sql语句必须以分号结尾。

mysql存储过程参数带有逗号问题

这个应该可以使用字符串拼接,你是不是这样写存储过程:create procedure p_proc(var_in int)begin delete from [tableName] where [colName] in (var_in);end 然后又这样调用:call p_proc(1, 2, 3);这样肯定不行,那么你可以这样:create procedure p_proc(var_in varchar(5000))begin set ...

存储过程变量中存储SQL语句被截断的问题

楼主用的 什么数据库?mysql一般先拼接好SQL,再执行,如下:set conditions = "select * from table where 1 ";set conditions = concat(conditions," and id=",1);set @sql = conditions;sqlserver一般做拼接的话,如下:set @sql = 'select * FROM tab where name = @name'...

mysql之存储过程和存储函数

首先,使用`delimiter $$`来修改默认的SQL分号为其他符号,便于定义存储过程。然后,通过`create procedure`声明过程,注意MySQL不支持替换,只能重新创建。参数类型有`IN`(输入参数)、`OUT`(输出参数)和`INOUT`(双向参数),局部变量通过`declare`声明。调用存储过程使用`call`命令,例如:创建并调用...

mysql单个sql能跑出来,但是在存储过程中却卡住了

可能是存储过程中的语句有问题,可以尝试检查一下存储过程中的语句,看看是否有语法错误或者逻辑错误。另外,也可以尝试把存储过程中的语句一条一条地执行,看看哪一条语句出现了问题。

mysql存储过程一个参数有多个逗号分割

这个应该可以使用字符串拼接,你是不是这样写存储过程:create procedure p_proc(var_in int)begin delete from [tableName] where [colName] in (var_in);end 然后又这样调用:call p_proc(1, 2, 3);这样肯定不行,那么你可以这样:create procedure p_proc(var_in varchar(5000))begin set ...

MySql建立存储过程中遇到如下错误:ERROR 1064 (42000):

是你sql语句写错了,见到1064错误就是你的sql语句有语法错误

mysql存储过程教程 mysql数据库的存储过程 mysql存储过程使用 mysql存储过程实例 mysql怎么调用存储过程 mysql 调用存储过程 mysql存储过程返回结果集 mysql怎么创建存储过程 mysql编写存储过程
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
植树节时某班平均每人植树6棵,如果只由女同学种每人种15棵如果由男生... 用朋友写一句排比句(要把朋友比做四种东西) 植树节时,某班平均每人植树6棵。如果只由女生完成,每人应植树15棵... 植树节时,某班平均每人植树6棵,如果只让女生完成,每人应植15棵,如果... 我的苹果手机,开屏有时候点击屏幕没反应,要锁屏再来才可以。我换过屏 ... ...没信号的时候我发了一条短信给Ta,等到Ta的手机有信号了能收到么... 植树节时,某班平均每人植树6棵,如果只由女同学完成,那么每人植树15棵... 自由可投代表什么 ...如果只由女同学完成,每人应植树15株;如果只由男同学完成,每人植树... 自由可投是什么意思?? 什么是企业版?都有哪些什么功能介绍? 企业版都有什么功能介绍? 企业版是什么?都有哪些什么功能介绍? 甫歌华有线宽带可以在网上续费吗 请问歌华有线宽带我交了那个一个月2M的套餐。请问到期后是自动扣费还是断网,如果是自动扣费,如何取消? 请问歌华有线宽带到期没续费,也没取消,不用了每月还有费用吗? 歌华有线芒果电视退订 现实生活中可以遇到总裁小说的场面吗? 用的歌华有线的宽带,快到期了,想续费。但是距离房子最近的营业厅不太熟悉。能不能到别的地方的营业厅交 总裁真的像小说中说的那样吗很多金 很帅 深圳真的有像小说里的总裁吗 世上真有小说漫画里的霸道总裁吗? 现实中有没有小说里的那种总裁? 现实中的总裁真有小说里的那么有本事吗? 朋友安利我一本言情小说,别说我傻,里面的霸道年轻总裁真实存在么? 世界上真的有小说中的总裁吗 我想知道现实生活中的总裁和小说里的总裁会有那么大的差别? 都市言情小说中的总裁,总经理,我感觉很霸气很厉害很有手段,现实中存在这样的人吗? 言情小说上写的总裁现实生活当中有吗 小说里的总裁是真的吗 国外的涂装设备公司在国内有几家?总部设在哪里? 上海火车站到辛庄乘几号地铁 上海金山区红梓路和亭耀路这里到辛庄乘一号线地铁怎么走问? 百度总部在什么地方,是谁创建的 从上海虹桥到辛庄地铁站坐地铁是几号线?急 从北京南站到北京市辛庄路口坐地铁怎么走 座16号线到辛庄怎么走?去辛庄怎么换乘? 肆拾玖坊成立于哪一年?总部在哪里? 北京市昌平区阳坊镇辛庄村坐地铁哪个站下 北森公司的总部设在哪儿 上海地铁周浦东到辛庄 米其林总部在哪里 上海总站到辛庄地铁怎么转 联合国环境规划署总部设在哪个国家的首都? 地铁八号线芦恒路到辛庄 联合国环境规划署总部在哪里 辛庄坐几号地铁 上海火车站到辛庄地铁站坐几路车到哪里转车 从上海火车站到莘庄应该乘几号线地铁? 东方路3469号到辛庄地铁要多少时间