2017-06-07 19 views
0
DELIMITER // 

DROP PROCEDURE IF EXISTS pad_fato_to_tad_fato// 


CREATE PROCEDURE pad_fato_to_tad_fato(IN IDFATO BIGINT, IN UCI BIGINT) 

BEGIN 
    INSERT INTO tad_fato (FAT_UCI, FAT_DESCRICAO, 
         FAT_DATA_CIENCIA_AUTORIDADE, 
         FAT_CADASTRANTE, FAT_DATA_CAD) 
    SELECT FAT_UCI, FAT_DESCRICAO, FAT_DATA_CIENCIA_AUTORIDADE, 
     FAT_CADASTRANTE, FAT_DATA_CAD 
    FROM pad_fato WHERE (FAT_ID = IDFATO); 
END// 

BEGIN 
    UPDATE tad_termo_de_ajustamento SET TAD_STATUS_ID="2" WHERE (TAD_FK_PRE_UCI = UCI); 
END// 

DELIMITER ; 

エラー(12,1):SQL構文にエラーがあります。あなたのMariaDBサーバーのバージョンに対応するマニュアルをチェックして正しい文法が使用されるようにしてください。UPDATE tad_termo_de_ajustamento SET TAD_STATUS_ID="2" WHERE (TAD_FK_PRE_UCI=UCI) 2行目更新時のMysqlプロシージャの構文エラー。

答えて

2

各クエリの後に "END"という単語が2つあります。 かなりフォーマットされていないコード:)

DELIMITER // 

DROP PROCEDURE IF EXISTS pad_fato_to_tad_fato// 

CREATE PROCEDURE pad_fato_to_tad_fato(IN IDFATO BIGINT, IN UCI BIGINT) 

BEGIN 
    INSERT INTO tad_fato (
     FAT_UCI,FAT_DESCRICAO, 
     FAT_DATA_CIENCIA_AUTORIDADE, 
     FAT_CADASTRANTE,FAT_DATA_CAD 
    ) 
    SELECT 
     FAT_UCI, 
     FAT_DESCRICAO, 
     FAT_DATA_CIENCIA_AUTORIDADE, 
     FAT_CADASTRANTE, 
     FAT_DATA_CAD 
    FROM pad_fato 
    WHERE (FAT_ID=IDFATO); 

    UPDATE tad_termo_de_ajustamento 
    SET 
     TAD_STATUS_ID="2" 
    WHERE (TAD_FK_PRE_UCI=UCI); 
END// 

DELIMITER ; 
+0

ニース! tksよ!正常に動作します! – user1149440