Avatar billede tued Nybegynder
19. august 2003 - 12:44 Der er 7 kommentarer og
1 løsning

afhængig insert statement

Hej

Jeg sidder med et projekt hvor jeg skal tjekke om et enkelt (specifikt) recordset eksistere hvis det ikke er tilfældet skal det insættes.

Hvordan gør man det ????

Jeg har ingen ide
Avatar billede tued Nybegynder
19. august 2003 - 12:47 #1
skal lige nævnes at databasen understøtter SQL-92 og er en sqlite database, hvis nogen kender den.
Burde dog ikke gøre den store forskel !
Avatar billede arne_v Ekspert
19. august 2003 - 12:47 #2
Normalt vil det vil sikres vir primær nøgelen.

Du laver INSERT og hvis den pågældende primær nøgle er der
i forvejen fejler INSERT.
Avatar billede tued Nybegynder
19. august 2003 - 13:04 #3
Det skal ikke kun være afhængigt af primær nøgle men flere felter i den enkelte tabel.
Har prøvet med et "insert or replace" statement, men har ikke haft held med det !
Kan det ikke lade sig gøre at definere hvilke felter den skal sammenligne i et "insert or replace" statement ????
Avatar billede arne_v Ekspert
19. august 2003 - 13:18 #4
Du kan lave et unikt index på alle de felter der skal testes på.
Avatar billede tued Nybegynder
19. august 2003 - 15:34 #5
Tror ikke at det er nødvendigt med et index.
Det er inholdet af de enkelte felte jeg tester på.

Jeg har følgende felter jeg skal teste på:
navn, startdato, slutdato, sted, info, kontaktperson, kortlang.

Hvis et ligende recordset, altså med de samme data i som i de ovenstående felter. Ved ikke om det kan hjælpe.
Avatar billede arne_v Ekspert
19. august 2003 - 15:38 #6
Hvis du laver et unikt index på de felter så virker det.

Hvis du laver en SELECT og så en INSRT hvis den ikke findes, så
har du muligvis et concurrency problem !
Avatar billede tued Nybegynder
20. august 2003 - 12:18 #7
Kanon, nu virker det, med det index tak for det !
Hvis du lige svare kan jeg jo lige give dig nogle point
Avatar billede arne_v Ekspert
20. august 2003 - 12:47 #8
svar
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester