declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
  execute immediate 'CREATE TABLE VOUCHER (
                        VOUCHER_ID NUMBER(15,0) PRIMARY KEY,
                        NOME_PASSAGEIRO VARCHAR2(150),
						NUM_FATURA VARCHAR2(30),
                        VALOR_LICITADO NUMBER(15,2),
                        VALOR_LEGALIZADO NUMBER(15,2),
                        DATA_VALIDADE DATE,                        
                        STATUS NUMBER(1,0),
                        DATA_INCLUSAO DATE,
                        ORIGEN_ID NUMBER(7,0),
                        DESTINO_ID NUMBER(7,0),
						CLASESERVICIO_ID NUMBER(2,0),
                        CONTRATO_ID NUMBER(7,0),
						MOTIVOCANCELACION_ID NUMBER(7,0),
                        CLIENTECORPORATIVO_ID NUMBER(7,0),                        
                        GRUPOCONTRATO_ID NUMBER(7,0),
                        TRANSPORTADORA_ID NUMBER(7,0),
						USUARIO_ID NUMBER(15,0),
                        ACTIVO NUMBER(1,0),
                        FECMODIF DATE,
                        CONSTRAINT fk_usuario_voucher FOREIGN KEY (USUARIO_ID) REFERENCES USUARIO(USUARIO_ID),
                        CONSTRAINT fk_origen_voucher FOREIGN KEY (ORIGEN_ID) REFERENCES PARADA(PARADA_ID),
                        CONSTRAINT fk_destino_voucher FOREIGN KEY (DESTINO_ID) REFERENCES PARADA(PARADA_ID),
                        CONSTRAINT fk_contrato_voucher FOREIGN KEY (CONTRATO_ID) REFERENCES CONTRATO_CORPORATIVO(CONTRATO_ID),
                        CONSTRAINT fk_cliente_corp_voucher FOREIGN KEY (CLIENTECORPORATIVO_ID) REFERENCES CLIENTE_CORPORATIVO(CLIENTECORPORATIVO_ID),
                        CONSTRAINT fk_motivo_cancel_voucher FOREIGN KEY (MOTIVOCANCELACION_ID) REFERENCES MOTIVO_CANCELACION(MOTIVOCANCELACION_ID),
                        CONSTRAINT fk_grupo_contrato_voucher FOREIGN KEY (GRUPOCONTRATO_ID) REFERENCES GRUPO_CONTRATO(GRUPOCONTRATO_ID),
                        CONSTRAINT fk_transportadora_voucher FOREIGN KEY (TRANSPORTADORA_ID) REFERENCES TRANSPORTADORA(TRANSPORTADORA_ID),
                        CONSTRAINT fk_clase_servicio_voucher FOREIGN KEY (CLASESERVICIO_ID) REFERENCES CLASE_SERVICIO(CLASESERVICIO_ID)
                    )';
  exception when object_exists then null;
end;
/
declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
  execute immediate 'CREATE SEQUENCE "VOUCHER_SEQ" MINVALUE 1 MAXVALUE 999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE';
  exception when object_exists then null;
end;
/
