CREATE TABLE TBCAIXABANCO_CONCILIACAO_LANC (    
    ID            INTEGER NOT NULL PRIMARY KEY,
	BANCO_CODIGO  INTEGER PRIMARY KEY,
    BANCO_CONTA   VARCHAR(10) PRIMARY KEY,
    TRANSACAO_ID  VARCHAR(10) PRIMARY KEY,	
	DATA          DATE,
    DOCUMENTO     INTEGER,
    HISTORICO     VARCHAR(250),    
    NATUREZA      VARCHAR(1),
    VALOR         NUMERIC(15,2),
    CONCILIACAO   VARCHAR(1),
	USUARIO_ID    INTEGER,
    DATAHORA      TIMESTAMP DEFAULT 'NOW' NOT NULL,
);

CREATE OR ALTER TRIGGER TTBCAIXABANCO_CONC_LANC_B01I FOR TBCAIXABANCO_CONCILIACAO_LANC
ACTIVE BEFORE INSERT POSITION 0
AS
declare variable CODIGO_VERIFICADOR INTEGER;
begin
  /* VERIFICAR SE O REGISTRO IMPORTADO JÁ EXISTE NO BANCO E IMPEDIR A GRAVAÇÃO DE REGISTROS DUPLICADOS */
  CODIGO_VERIFICADOR = COALESCE((SELECT FIRST 1 Z.ID
                                    FROM TBCAIXABANCO_CONCILIACAO_LANC A
                                    WHERE Z.DATA       = NEW.DATA
                                    AND Z.BANCO_CODIGO = NEW.BANCO_CODIGO
                                    AND Z.BANCO_CONTA  = NEW.BANCO_CONTA
                                    AND Z.TRANSACAO_ID = NEW.TRANSACAO_ID),0);
  IF(CODIGO_VERIFICADOR > 0)THEN
  BEGIN
     EXCEPTION "..." 'LANÇAMENTO DO DIA:'||FORMATDATE(NEW.DATA)||' TRANS.ID:'||NEW.TRANSACAO_ID||', BANCO CÓD:'||NEW.BANCO_CODIGO||'<br> CONTA CONCILIAÇÃO:'||NEW.BANCO_CONTA||'<BR> JÁ EXISTENTE OPERAÇÃO CANCELADA!';
  END
end;

CREATE INDEX ITBCAIXABANCO_CONC_LANC_01I
ON TBCAIXABANCO_CONCILIACAO_LANC (BANCO_CODIGO);

CREATE INDEX ITBCAIXABANCO_CONC_LANC_02I
ON TBCAIXABANCO_CONCILIACAO_LANC (BANCO_CONTA);

CREATE INDEX ITBCAIXABANCO_CONC_LANC_03I
ON TBCAIXABANCO_CONCILIACAO_LANC (DATA);

CREATE INDEX ITBCAIXABANCO_CONC_LANC_04I
ON TBCAIXABANCO_CONCILIACAO_LANC (CONCILIACAO);



ALTER TABELA TBCAIXABANCO_CONCILIACAO_LANC  ADD  CONCILIACAO   VARCHAR(1);
ALTER TABELA TBCAIXABANCO_CONCILIACAO_LANC  ADD  BANCO_CODIGO  INTEGER;
ALTER TABELA TBCAIXABANCO_CONCILIACAO_LANC  ADD  BANCO_CONTA   VARCHAR(10) CHARACTER SET UTF8 COLLATE UTF8;
ALTER TABELA TBCAIXABANCO_CONCILIACAO_LANC  ADD  TRANSACAO_ID  VARCHAR(20) CHARACTER SET UTF8 COLLATE UTF8;
ALTER TABELA TBCAIXABANCO_CONCILIACAO_LANC  ADD  USUARIO_ID    INTEGER;

ALTER TABLE TBCAIXABANCO_CONCILIACAO_LANC ADD PRIMARY KEY (ID);