创建存储过程时MySQL中的输入意外结束
在两个地方出错创建存储过程时MySQL中的输入意外结束,mysql,sql,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 TRA
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
在这种情况下,存储过程的正确语法是什么?第三行:它不应该是“drop table”吗?如何使用p2中的select*?我正要回答:)我们在寻找相同的问题@juergen d:)我投了赞成票
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 ;