2013-10-03 5 views
0

저장 만들 때 가지고 두 곳 예기치 않은 종료 절차

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

p2에서 select *를 사용하는 방법? – user2827740

+0

내가 대답하려고했다 :) 우리는 같은 문제를 @ 주전자 d를 사냥하고 있습니까 :) 내가 upvoted –

+0

'CALL p2()'코드를 작성해야합니다. –

관련 문제