2012-09-20 6 views
0

작동하지 않습니다 만들기, 내가 사방 보았다 그것은 잘 보이지만이절차 내가 MySQL의에서 VIEW를 사용하는 프로 시저를 작성하는 데 문제가

작동하지 않습니다이 잘 작동 내보기입니다 :

CREATE OR REPLACE VIEW V_Ficha AS SELECT R.Id_rota, R.Tempo, R.Nome, F.Data, F.Tab_pesquisador_Id_pesquisador as Pes, 
F.Tab_municipio_Id_municipio as Mun, F.Tab_instrumento_Id_instrumento as Ins FROM Tab_ficha F LEFT JOIN Tab_rota AS R ON F.Tab_rota_Id_rota = R.Id_rota; 

내 절차입니다 :
CREATE OR REPLACE PROCEDURE P_Ficha(IN id INT) 
BEGIN 
    IF id > 1 THEN 
    SELECT * FROM V_Ficha WHERE Id_rota = id; 
    ELSE 
    SELECT 'Id must be greater than 0' AS Msg; 
    END IF; 
END; 

내가 구분 기호를 넣어하지만 여전히

작동하지 않습니다
DELIMITER // 
CREATE OR REPLACE PROCEDURE P_Ficha(IN id INT) 
BEGIN 
    IF (id > 1) THEN 
     SELECT * FROM V_Ficha WHERE Id_rota = id; 
    ELSE 
     SELECT 'Id must be greater than 0' AS Msg; 
    END IF; 
END 
// 
DELIMITER ; 
+0

방법이 작동하지 않습니다 당신의 저장된 프로 시저의 끝에서

delimiter // 

추가 "//"다음 후이 줄을 추가? 내 마술 추측 상한을 쓰면, 당신은'DELIMITER'에 대해 읽을 필요가 있다고 말하고 싶습니다. –

답변

0

구분 기호를 변경했는지 확인하십시오. 그렇지 않으면 ";" 저장된 proc에서 MySql은 저장된 proc이 완료되었다고 생각합니다.

저장 프로 시저를 생성하기 전과 후에 구분 기호를 변경하십시오.

전에이 줄을 추가

delimiter ; 
관련 문제