Sto finendo un progettino per l'università. Mi manca solo da creare una query per un'operazione che richiede di scrivere su più tabelle ed effettuare degli update... non credo sia possibile fare nulla del genere in una sola query quindi spero che la prof non abbia da ridire se le faccio un paio di insert (complesse.. con select al lroo interno etc etc) e un paio di update...
Ma non è questo il punto..
il punto è che dovrei inserire un dato nella tabella "pacchetto" e conoscere l'id appena inserito per inserirlo in un'associazione costituita da un'altra tabella.
L'unico elemento unique di "paccheto" è l'id stesso, per cui non posso ottenere l'id con un select annidata dentro il secondo insert... a meno di non ottenrlo con una cosa tipo "SELECT max(id) FROM pacchetto"... ma dovrebbe essere un po' troppo arbitraria credo, no?
Nel senso che nessuno mi garantisce che tra il mio primo ed il mio secondo inser, qualcun'altro non inserisca un altro pacchetto nella base di dati.. per cui al momento della select non mi troverei il pacchetto da me inserito, ma un altro...
Esiste un modo di inserire con una sola query dati dentro due tabelle (in modo da rendere n qualche modo atomica la quesry sopra esposta).. o qualche altro sistema che mi possa servire?
![]()