创建过程不起作用

时间:2012-09-20 17:43:41

标签: mysql

我在创建一个在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 ;

1 个答案:

答案 0 :(得分:0)

确保您更改了分隔符。否则,只要你有“;”在你的存储过程中,MySql会认为你的存储过程已经完成。

在创建存储过程之前和之后更改分隔符。

在此之前添加此行:

delimiter //

在存储过程结束时添加“//”,然后在以下位置添加以下行:

delimiter ;