Jeg skal lave en kopi af en række, som skal oprettes med et nyt id, og det nye id skal returneres, så jeg kan hente de nye data fra mit program. Først gjorde jeg noget lignende det nedenstående:
INSERT INTO table (id, text) SELECT seq.nextval, text FROM table WHERE id = :id
Hvilket virker. Men når jeg prøver:
INSERT INTO table (id, text) SELECT seq.nextval, text FROM table WHERE id = :id RETURNING id INTO :outValue
så får jeg fejlen: "ORA-00933: SQL-kommando er ikke korrekt afsluttet"
Er der nogen, der ved, hvad der er galt eller hvordan det eventuelt kan lade sige gøre, at kopiere en række, erstatte en eller flere værdier og returnere id'et?
Mange tak for dit svar. Jeg endte med at opgive at bruge returning og i stedet for bare bruge :outValue som parameter, som du også foreslår. Svaret er godtaget.
Det er ved at være længe siden, jeg har brugt Eksperten, men da jeg ikke umiddelbart kan se en knap, hvor jeg kan acceptere dit svar, går jeg ud fra, at det er skrevet som en kommentar. Smid et svar så får du dine point :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.