Il mio problema è il seguente:SQL popolamento con i dati distinti e una sequenza
- ho bisogno di popolare una tabella 'auto' sulla base di informazioni provenienti da casi di affitti delle vetture.
- Ho bisogno di creare una chiave primaria 'car_id' ma solo per distinte piastre di registrazione nella tabella affitti.
- Sto creando il car_id con una sequenza.
Ho provato il seguente codice ma ricevere un errore:
--INSERT INTO cars c (c.plate, c.car_id)
SELECT DISTINCT cr.plate, car_id_seq.nextval
FROM cars_rentals cr
;
Sebbene questo possa funzionare (senza targhe distinte):
--INSERT INTO cars c (c.plate, c.car_id)
SELECT cr.plate, car_id_seq.nextval
FROM cars_rentals cr
;
(è commentato La riga superiore così posso vedere i valori che sto provando ad emettere immediatamente)
So! Qualcuno sa come posso? A) Ottenere il codice sopra per lavorare con DISTINCT o B) trovare un modo per ottenere MAXVALUE della sequenza come il DISTINCT COUNT delle targhe di registrazione (quindi posso fare due istruzioni di inserimento)
Grazie in anticipo! Jack
Presumibilmente l'errore è stato 'ORA-02287: numero di sequenza non ammessi here'? In genere è meglio dire. –