2013-10-03 3 views
0

получил ошибку в двух местахнеожиданный конец ввода в MySQL при создании хранимой процедуры

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 

что правильный синтаксис хранимой процедуры в этом случае?

+1

третья строка: не следует ли это «отбрасывать стол»? – Gar

ответ

2
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 ; 
+0

способ применения select * из p2? – user2827740

+0

Я собирался ответить :) Мы охотимся на те же проблемы @juergen d :) i upvoted it –

+0

вам нужно написать код 'CALL p2()' –

Смежные вопросы