Avatar billede kovalt Nybegynder
14. maj 2003 - 15:06 Der er 4 kommentarer og
1 løsning

Tjekke som sammensat nøgle eksisterer i anden tabel

Hej alle sammen

  Jeg har to tabeller - en salgs-tabel og en reservations-tabel. Når en kunde øsnker at booke en billet skal det tjekkes om den lpads er optaget - altså om den figurer i bookingklassen.

Begge tabeller har den samme sammensatte nøgle (forestillingsnr, sædeID).

Hvordan ligger jeg det som constraint i bookingtabellen at den samme nøgle ikke ligger i salgtabellen.

/Kovalt
Avatar billede kovalt Nybegynder
14. maj 2003 - 15:09 #1
jeg har forsøgt det her men det virker ikke:

CONSTRAINT tjek_om_booking CHECK (saedeID, forestillingsnr NOT EXISTS (SELECT forestillingsnr, saedeID FROM salg WHERE forestillingsnr = booking.forestillingsnr AND saedeID = booking.saedeID))
Avatar billede Slettet bruger
14. maj 2003 - 20:47 #2
Jeg ved ikke om man kan gøre ovenstående men ellers kan du bygge din not exists på den sql sætning som indsætter i databasen.
Avatar billede zapzap Nybegynder
27. maj 2003 - 14:26 #3
Hvad vil du have der skal ske ved det, jeg mener, hvis databasen bare giver en constraint fejl så er det ikke så nemt at lave en fin besked til brugeren?
Avatar billede zapzap Nybegynder
27. maj 2003 - 14:29 #4
Kender jo ikke opgaven, men
SKAL du også have to tabeller? Du kan måske klare det ved at have een, hvor det kun er et status-felt der afgør om pladsen er fri, reserveret eller solgt.
Avatar billede kovalt Nybegynder
05. juni 2003 - 18:46 #5
jeg har droppet det og lavet designet om... lukker spm
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