ALTER TABLE TBQUIOSQUE_CAIXA
ADD SENHA_ABRIR_CAIXA VARCHAR(32) CHARACTER SET UTF8 
COLLATE UTF8;

ALTER TABLE TBQUIOSQUE_CAIXA
ADD SENHA_FECHAR_CAIXA VARCHAR(32) CHARACTER SET UTF8 
COLLATE UTF8;

ALTER TABLE TBQUIOSQUE_CAIXA
ADD SENHA_GERENTE VARCHAR(32) CHARACTER SET UTF8 
COLLATE UTF8;

CREATE TRIGGER TTBQUIOSQUE_CAIXA_B02I FOR TBQUIOSQUE_CAIXA
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Registro Incluido';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBQUIOSQUE_CAIXA',NEW.ID, HISTORICO);
    END
end;

CREATE OR ALTER TRIGGER TTBQUIOSQUE_CAIXA_B01U FOR TBQUIOSQUE_CAIXA
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Descricao:'|| OLD.DESCRICAO||'->'||NEW.DESCRICAO;
    END

    IF ( OLD.STATUS <> NEW.STATUS) THEN
    BEGIN
        HISTORICO = HISTORICO||',Status:'|| OLD.STATUS||'->'||NEW.STATUS;
    END

    IF ( OLD.SENHA_ABRIR_CAIXA <> NEW.SENHA_ABRIR_CAIXA) THEN
    BEGIN
        HISTORICO = HISTORICO||',Senha Alterada:'|| OLD.SENHA_ABRIR_CAIXA||'->'||NEW.SENHA_ABRIR_CAIXA;
    END

    IF ( OLD.SENHA_FECHAR_CAIXA <> NEW.SENHA_FECHAR_CAIXA) THEN
    BEGIN
        HISTORICO = HISTORICO||',Senha Alterada:'|| OLD.SENHA_FECHAR_CAIXA||'->'||NEW.SENHA_FECHAR_CAIXA;
    END

    IF ( OLD.SENHA_GERENTE <> NEW.SENHA_GERENTE) THEN
    BEGIN
        HISTORICO = HISTORICO||',Senha Alterada:'|| OLD.SENHA_GERENTE||'->'||NEW.SENHA_GERENTE;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBQUIOSQUE_CAIXA',NEW.ID, HISTORICO);
    END
end;

CREATE TRIGGER TTBQUIOSQUE_CAIXA_B01D FOR TBQUIOSQUE_CAIXA
ACTIVE BEFORE DELETE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Registro Excluido';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBQUIOSQUE_CAIXA',old.ID, HISTORICO);
    END
end;
