rij kopieren binnen zelfde tabel waarbij 1 gegeven/cel gewijzigd moet worden

Status
Niet open voor verdere reacties.

Tveer

Gebruiker
Lid geworden
26 aug 2001
Berichten
102
Situatie:
Tabel X met 3 kolommen (letter1, letter2 en letter3)
In rij 1 staat A,B,C
In een nieuwe rij in diezelfde tabel wil ik een kopie van rij 1, waarbij A en B gekopieerd kunnen worden van rij 1, en letter3 met D gevuld moet worden.

Werkelijkheid is natuurlijk wat uitgebreider en ingewikkelder dan deze schets.
Hoe doe ik dat?

Ik dacht aan zoiets als
insert (letter3, letter1, letter2) into Tabel X
values ('D', select (letter1, letter2) from Tabel X)

Dat werkt dus niet.....hoe wel?
 
[sql]
insert (letter3, letter1, letter2) into Tabel X
(select 'D', letter1, letter2 from Tabel X WHERE rij = 1 )
[/sql]

Zou je eens kunnen proberen, werkt opzich wel als het goed is.
 
Ik krijg op de voorgestelde manier foutmelding ORA 00925: 'Missing INTO expression'

Als ik er van maak:

INSERT INTO TabelX (letter3, letter2, letter1)
(SELECT 'D', letter1, letter2 FROM Tabel X WHERE rij = 1 )

dan volgt foutmelding ORA 00001 'unique constraint violated'
cause: an update or insert statement attempted to insert a duplicate key...Either remove the unique constraint or do not insert the key.

Andere oplossingsrichtingen hoor ik graag!
 
Dat is geen probleem met de oplossingsrichting, dat is een probleem met je tabel layout. Blijkbaar bestaat er al een rij met precies dezelfde waarde(n) in een veld dat unique is, of in je primary key. Controleer even welke unique constraints en primary keys er op je tabel zitten en welke niet uniek meer zou zijn met de insert die je doet, want daar zit je probleem.
 
Ik werk met sql-developer en zie dat in deze tabel X er 1 Constraint Name is waarbij Contraint Type 'unique' bij staat, en 1 Contraint Name waar bij Contraint Type 'Primairy key' bij staat (staat in tabblad Data).

Verder zie ik dat in tabblad Indexes dat er 2 Index namen zijn waarbij de Uniqueness op Unique staat

Voor de juiste beeldvorming, bovenstaande zaken zeggen mij niet veel......
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan