mysql - 创建存储过程时 MySQL 中的输入意外结束

标签 mysql sql

两处错误

CREATE PROCEDURE p2()
BEGIN  
DROP PROCEDURE IF EXISTS temp_table; // unexpected end of input
CREATE TEMPORARY TABLE temp_table (count int);
insert into temp_table select max(seq) from livefeed.TMP_LIVEFEED group by ProductID;
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT minute(aa.UpdateOn) - minute(aa.TickTime), aa.* FROM livefeed.TMP_LIVEFEED aa where aa.seq in (select count from temp_table);
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
END // cross symbol error here

在这种情况下,存储过程的正确语法是什么?

最佳答案

delimiter //    
CREATE PROCEDURE p2()
BEGIN  
   DROP TABLE IF EXISTS temp_table;
   CREATE TEMPORARY TABLE temp_table (count int);

   insert into temp_table 
   select max(seq) 
   from livefeed.TMP_LIVEFEED 
   group by ProductID;

   SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

   SELECT minute(aa.UpdateOn) - minute(aa.TickTime), aa.* 
   FROM livefeed.TMP_LIVEFEED aa 
   where aa.seq in (select count from temp_table);

    SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
END // 
delimiter ;

关于mysql - 创建存储过程时 MySQL 中的输入意外结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19151844/

相关文章:

php - 在php中创建一个错误日志文件

MySQL 列到行

php - Laravel-5.6 'LIKE' 在选择的地方

php - 更新表列并将旧数据插入另一列

sql - Laravel总和 Eloquent 集合

历史表中的 SQL LEFT JOIN

php - 连接2个以上的sql表而不忽略具有空列的行

SQL Server - 有没有一种简单的方法可以在搜索时忽略引号?

php - 选择查询的顺序在准备好的语句中不起作用

mysql - 自定义 SQL 查询,用于以 "-"作为分隔符对值进行排序