Hallo,
tsja, mijn probleem is een beetje moeilijk uit te leggen in de topictitel. Maar het is als volgt.
Ik heb een stored procedure, daarin selecteer ik een artikel:
Query is veel uitgebreider ivm prijsgroepen, meerdere valutas en nog meer informatie maar dat is nu niet relevant.
Zoals je kan zien gebruik ik een eigen functie om de prijs te berekenen aangezien deze afhankelijk is van meerdere factoren en ik deze gebruik in meerdere stored procedures. Op het moment heb ik die berekening dus los in elke procedure staan en wil ik deze in een functie gaan zetten zodat aanpassingen daaraan op een centrale plek kunnen gebeuren.
Mijn functie gebruik 3 variabelen, het id van de ingelogde user, de artikelcode, en het type prijs (verkoopprijs of adviesprijs). Het probleem zit hem nu dus in het aanroepen van mijn functie, daarin heb ik dus de artikelcode nodig die ik in de zelfde query selecteer. Op het moment lijkt het dat hij alle artikelcodes invult ipv de artikelcode voor het huidige artikel. Daardoor word de prijs niet juist berekend en duurt de query ipv 1.2 seconde nu 45 seconde.
Kortom, hoe kan ik een waarde die ik selecteer, in dezelfde query weer gebruiken voor het aanroepen van een functie?
tsja, mijn probleem is een beetje moeilijk uit te leggen in de topictitel. Maar het is als volgt.
Ik heb een stored procedure, daarin selecteer ik een artikel:
code:
1
| SELECT `artikel`.`code`, artikel_prijs(_id, `artikel`.`code`, 'vk') FROM `artikelen` |
Query is veel uitgebreider ivm prijsgroepen, meerdere valutas en nog meer informatie maar dat is nu niet relevant.
Zoals je kan zien gebruik ik een eigen functie om de prijs te berekenen aangezien deze afhankelijk is van meerdere factoren en ik deze gebruik in meerdere stored procedures. Op het moment heb ik die berekening dus los in elke procedure staan en wil ik deze in een functie gaan zetten zodat aanpassingen daaraan op een centrale plek kunnen gebeuren.
Mijn functie gebruik 3 variabelen, het id van de ingelogde user, de artikelcode, en het type prijs (verkoopprijs of adviesprijs). Het probleem zit hem nu dus in het aanroepen van mijn functie, daarin heb ik dus de artikelcode nodig die ik in de zelfde query selecteer. Op het moment lijkt het dat hij alle artikelcodes invult ipv de artikelcode voor het huidige artikel. Daardoor word de prijs niet juist berekend en duurt de query ipv 1.2 seconde nu 45 seconde.
Kortom, hoe kan ik een waarde die ik selecteer, in dezelfde query weer gebruiken voor het aanroepen van een functie?
[ Voor 0% gewijzigd door Verwijderd op 11-12-2006 11:59 . Reden: typo ]