CREATE OR ALTER PROCEDURE (
    ESTABELECIMENTO_CODIGO INTEGER,
    NFS_CONTROLE INTEGER,
    NUMERO_NOTAFISCAL INTEGER,
    EMPRESA_CODIGO INTEGER,
    DATA_EMISSAO DATE,
    TRANSPORTADORA_CODIGO INTEGER,
    VOLUMES INTEGER,
    ESPECIE VARCHAR(10),
    PESO_BRUTO NUMERIC(10,5),
    DATA_SAIDA DATE,
    HORA_SAIDA TIME,
    DATA_ENTREGA DATE,
    CONTATO VARCHAR(20))
AS
BEGIN

UPDATE OR INSERT INTO TBNFS_EMBARQUE (ESTABELECIMENTO_CODIGO, NFS_CONTROLE, NUMERO_NOTAFISCAL, EMPRESA_CODIGO,
                                      DATA_EMISSAO, TRANSPORTADORA_CODIGO, VOLUMES, ESPECIE, PESO_BRUTO, DATA_SAIDA,
                                      HORA_SAIDA, DATA_ENTREGA, CONTATO)
VALUES (:ESTABELECIMENTO_CODIGO, :NFS_CONTROLE, :NUMERO_NOTAFISCAL, :EMPRESA_CODIGO, :DATA_EMISSAO,
        :TRANSPORTADORA_CODIGO, :VOLUMES, :ESPECIE, :PESO_BRUTO, :DATA_SAIDA, :HORA_SAIDA, :DATA_ENTREGA, :CONTATO)
MATCHING (ESTABELECIMENTO_CODIGO, NFS_CONTROLE);

END;

