Gå til innhold

Anbefalte innlegg

Ønsker å lage en stored procedure som henter ut antall nøkler som er lånt ut (num_of_keys, fra tabellen key_reg) i mot et felt som inneholder totalt antall nøkler i en annen tabell (num_of_keys), for deretter å oppdatere nøkkeltabellen om hvor mange nøkler som er tilgjengelig.

 

Her er relevant info om tabellene:

 

key

key_id

num_of_keys

num_of_keys_available

 

key_reg

key_reg_id

key_id

issued_user

num_of_keys (antall nøkler som er lånt ut)

 

Har selv ingen erfaring med SP så er på dypt vann her. Noen forslag?

Lenke til kommentar
Videoannonse
Annonse
Ønsker å lage en stored procedure som henter ut antall nøkler som er lånt ut (num_of_keys, fra tabellen key_reg) i mot et felt som inneholder totalt antall nøkler i en annen tabell (num_of_keys), for deretter å oppdatere nøkkeltabellen om hvor mange nøkler som er tilgjengelig.

 

Her er relevant info om tabellene:

 

key

key_id

num_of_keys

num_of_keys_available

 

key_reg

key_reg_id

key_id

issued_user

num_of_keys (antall nøkler som er lånt ut)

 

Har selv ingen erfaring med SP så er på dypt vann her. Noen forslag?

9341833[/snapback]

Hva trenger du en stored proc for her? Dette er jo en enkelt spørring. Jeg regner med at MySQL også støtter syntaksen UPDATE tabell FROM ... join. Tar du en liten titt i manualen på dette så regner jeg med at du finner det du er ute etter. Det skal være noe i retning av:

 

UPDATE key

SET k.num_of_keys_available = k.num_of_keys - kr.num_of_keys

FROM key k inner join key_reg kr ON (k.key_id = kr.key_id)

 

Hvis MySQL ikke har støtte for dette så er det enda en svakhet avdekket med MySQL, og du må sannsynligvis bruke subquery (underspørring)

 

UPDATE key k

SET k.num_of_keys_avaiable = k.num_of_keys - (SELECT kr.num_of_keys FROM key_reg where k.key_id = kr.key_id);

 

eller noe sånt :)

 

Håper dette var til noe hjelp i hvert fall.

Lenke til kommentar

Takk, skal se nærmere på det.

 

Grunnen til at jeg vil bruke SP er vell egentlig en kombinasjon av at jeg vil lære det og samtidig flytte noe av logikken fra applikasjonen til databasen.

 

Har løst problemet med 3 spørringer, men hadde håpet at det kunne la seg løse ved hjelp av en SP.

Lenke til kommentar
Takk, skal se nærmere på det.

 

Grunnen til at jeg vil bruke SP er vell egentlig en kombinasjon av at jeg vil lære det og samtidig flytte noe av logikken fra applikasjonen til databasen.

 

Har løst problemet med 3 spørringer, men hadde håpet at det kunne la seg løse ved hjelp av en SP.

9345917[/snapback]

I så fall:

 

CREATE PROCEDURE navn
BEGIN 
 -- Dine spørringer her
END

Endret av roac
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...