codice:
CREATE TABLE Merce(
	cod_merce varchar2(20) NOT NULL,
	cod_richiesta number(10) NOT NULL,
	quantita_mrc number(6) NOT NULL,
	tipologia_mrc varchar2(8) NOT NULL,
	descrizione_mrc varchar2(255) NOT NULL,
	citta_p varchar2(30) NOT NULL,
	nazione_p varchar2(20) NOT NULL,
	indirizzo_p varchar2(30) NOT NULL,
	data_partenza DATE NOT NULL,
	citta_a  varchar2(20) NOT NULL,
	nazione_a varchar2(20) NOT NULL,
	indirizzo_a varchar2(30) NOT NULL,
	data_consegna DATE NOT NULL
);

ALTER TABLE Merce
add constraint pk_Merce
	primary key(cod_merce, cod_richiesta)	
add constraint fk_Merce	
	foreign key(cod_richiesta)
	references Richieste(cod_richiesta)
add constraint chk1_Merce
	check (quantita_mrc > 0)
add constraint chk2_Merce
	check (data_partenza < data_consegna)
add constraint chk3_Merce
	check(data_consegna < (select tempo_max_consegna from Richieste where Merce.cod_richiesta = Richieste.cod_richiesta));
La risposta di Oracle in questo caso é "query secondaria non permessa in questo caso"... non capisco proprio il perché!