|
| at ignorere foreign key constarints i Orac~ Fra : Lars Vegas |
Dato : 16-04-07 11:19 |
|
Hej
Jeg er evd at lave noget lignende:
insert into tabel
select * from anden_tabel
Men tabellen jeg indsætter ind i, indeholder en række foreign keys, og
den brager således ned når jeg finder en række der ikke opfylder
kriterierne. Det er jo fint nok, det skal den gøre.
Men jeg overvejer om Oracle understøtter (evt via et hint), en
funktion der gør at den bare fortsætter til næste række, hvis en given
række fejler?
Det skal måske lige med, at jeg allerede har løst det ved en exception
handler, men gerne vil undgå at skulle skrive stored procedures.
Endvidere er det løst ved at lade være med overhovedet at prøve at
indsætte rækker som ikke lever op til kriterierne, med en EXISTS i min
query.
Mvh Bjørn
| |
Nikolaj Hansen (20-06-2007)
| Kommentar Fra : Nikolaj Hansen |
Dato : 20-06-07 00:01 |
|
Lars Vegas wrote:
> Hej
> Jeg er evd at lave noget lignende:
>
> insert into tabel
> select * from anden_tabel
>
> Men tabellen jeg indsætter ind i, indeholder en række foreign keys, og
> den brager således ned når jeg finder en række der ikke opfylder
> kriterierne. Det er jo fint nok, det skal den gøre.
> Men jeg overvejer om Oracle understøtter (evt via et hint), en
> funktion der gør at den bare fortsætter til næste række, hvis en given
> række fejler?
>
> Det skal måske lige med, at jeg allerede har løst det ved en exception
> handler, men gerne vil undgå at skulle skrive stored procedures.
> Endvidere er det løst ved at lade være med overhovedet at prøve at
> indsætte rækker som ikke lever op til kriterierne, med en EXISTS i min
> query.
>
> Mvh Bjørn
>
Hejsa,
Hvis du i din select clause binder nogle where klausuler på, der joiner
dine FK til relaterede PK, så får du ingen fejl.
mvh
Nikolaj Hansen
| |
Lars Vegas (22-06-2007)
| Kommentar Fra : Lars Vegas |
Dato : 22-06-07 15:05 |
|
> > Mvh Bjørn
>
> Hejsa,
>
> Hvis du i din select clause binder nogle where klausuler på, der joiner
> dine FK til relaterede PK, så får du ingen fejl.
>
> mvh
>
> Nikolaj Hansen- Skjul tekst i anførselstegn -
>
> - Vis tekst i anførselstegn -
Hej Nikolaj
Som skrevet, er det løst ved at lave en EXISTS ned i tabellen der
indeholder de fremmede nøgler (jeg mener selv det er marginalt
hurtigere end en join?)
Jeg ville gerne lave det så enkelt som muligt, da brugerne er
væsentligt mindre erfarne i SQL, men spørgsmålet er om det overhovedet
bliver enklere af at lave småtricks?
Tak for input
| |
|
|