繁体   English   中英

更新时的Mysql过程语法错误

[英]Mysql Procedure Syntax error on Update

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)附近使用

每个查询后都有两个“ END”字样。 而且不是很格式化的代码:)

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 ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM