declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
	execute immediate '
	    CREATE TABLE ESQUEMA_CORRIDA_EMBRQ_DESEMBRQ (
	      ESQUEMACORRIDAEMBRQDESEMBRQ_ID NUMBER(7,0) NOT NULL,
	      ESQUEMACORRIDA_ID NUMBER(7,0) NOT NULL,
	      PARADA_ID NUMBER(7,0) NOT NULL,
	      ACTIVO NUMBER(1,0),
	      FECMODIF DATE,
	      USUARIO_ID NUMBER(7,0),
	      CONSTRAINT PK_ESQ_CORR_EMBRQ_DESEMBRQ PRIMARY KEY(ESQUEMACORRIDAEMBRQDESEMBRQ_ID),
	      CONSTRAINT FK_ESQ_CORR_EMBRQ_DESEMBRQ_COR FOREIGN KEY (ESQUEMACORRIDA_ID) REFERENCES ESQUEMA_CORRIDA(ESQUEMACORRIDA_ID),
	      CONSTRAINT FK_ESQ_CORR_EMBRQ_DESEMBRQ_PAR FOREIGN KEY (PARADA_ID) REFERENCES PARADA(PARADA_ID),
	      CONSTRAINT FK_ESQ_CORR_EMBRQ_DESEMBRQ_USU FOREIGN KEY (USUARIO_ID) REFERENCES USUARIO(USUARIO_ID)
	  	)
';
    exception when object_exists then null;
end;
/

declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
	execute immediate '
		CREATE TABLE RUTA_EMBRQ_DESEMBRQ (
		  RUTAEMBRQDESEMBRQ_ID NUMBER(7,0) NOT NULL,
		  RUTA_ID NUMBER(7,0) NOT NULL,
		  PARADA_ID NUMBER(7,0) NOT NULL,
		  ACTIVO NUMBER(1,0),
		  FECMODIF DATE,
		  USUARIO_ID NUMBER(7,0),
		  CONSTRAINT PK_RUTA_EMBRQ_DESEMBRQ PRIMARY KEY(RUTAEMBRQDESEMBRQ_ID),
		  CONSTRAINT FK_RUTA_EMBRQ_DESEMBRQ_RUTA FOREIGN KEY (RUTA_ID) REFERENCES RUTA(RUTA_ID),
		  CONSTRAINT FK_RUTA_EMBRQ_DESEMBRQ_PARADA FOREIGN KEY (PARADA_ID) REFERENCES PARADA(PARADA_ID),
		  CONSTRAINT FK_RUTA_EMBRQ_DESEMBRQ_USUARIO FOREIGN KEY (USUARIO_ID) REFERENCES USUARIO(USUARIO_ID)
		)
';
    exception when object_exists then null;
end;
/

declare
    column_exists exception;
    pragma exception_init (column_exists , -01430);
begin
    execute immediate 'ALTER TABLE BOLETO ADD EMBARQUE_ID NUMBER(7,0) CONSTRAINT FK_BOLETO_EMBARQUE REFERENCES PARADA(PARADA_ID)';
	execute immediate 'ALTER TABLE BOLETO ADD DESEMBARQUE_ID NUMBER(7,0) CONSTRAINT FK_BOLETO_DESEMBARQUE REFERENCES PARADA(PARADA_ID)';
    exception when column_exists then null;
end;
/

declare
    column_exists exception;
    pragma exception_init (column_exists , -01430);
begin
    execute immediate 'ALTER TABLE CAJA ADD EMBARQUE_ID NUMBER(7,0) CONSTRAINT FK_CAJA_EMBARQUE REFERENCES PARADA(PARADA_ID)';
	execute immediate 'ALTER TABLE CAJA ADD DESEMBARQUE_ID NUMBER(7,0) CONSTRAINT FK_CAJA_DESEMBARQUE REFERENCES PARADA(PARADA_ID)';
    exception when column_exists then null;
end;
/

declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
    execute immediate 'CREATE SEQUENCE "RUTA_EMBRQ_DESEMBRQ_SEQ" INCREMENT BY 1 START WITH 1 NOCACHE ORDER NOCYCLE';
    execute immediate 'CREATE SEQUENCE "ESQUEMA_CORRIDA_EMB_DESEM_SEQ" INCREMENT BY 1 START WITH 1 NOCACHE ORDER NOCYCLE';
    exception when object_exists then null;
end;