login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Stored Prodcedure variable where

Offline Sitebase - 03/02/2009 15:05
Avatar van SitebasePHP expert Iemand een idee hoe je een variable in een where kan gebruiken van een stored procedure.

Even een voorbeeldje:

  1. CASE @in_type
  2. WHEN 'total' THEN SET @colname = 'CreateDate';
  3. WHEN 'new' THEN SET @colname = 'StartDate';
  4. WHEN 'expire' THEN SET @colname = 'ExpireDate';
  5. END CASE;
  6.  
  7. SELECT * FROM txorderlines WHERE @colname=@date


Zoals je in het voorbeeld hierboven kan zien moet er afhankelijk van het type dat wordt meegegeven met de procedure, de datum vergeleken worden met een bepaalde kolom.

Iemand een idee waarom @colname niet werkt? De procedure wordt wel goed gecompiled maar hij geeft geen rijen terug.

4 antwoorden

Gesponsorde links
Offline Ontani - 03/02/2009 15:09
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
heb je al eens die @colname gereturned of die wel juist wordt ingevuld?
Offline Sitebase - 03/02/2009 15:11
Avatar van Sitebase PHP expert Ja, heb ik ook al getest en hij wordt goed opgevuld.
Offline Abbas - 03/02/2009 15:11 (laatste wijziging 03/02/2009 15:12)
Avatar van Abbas Gouden medaille

Crew .NET
Die colname moet zonder die '@'. En normaal heb je daaronder nog staan: 'RETURN'. Voorbeeld van een SP uit een MSSQL DB dat ik ooit eens heb gemaakt om te testen:

  1. SELECT id, poster, bericht, tijd FROM tbl_berichten WHERE id = @id
  2. RETURN
Offline Sitebase - 03/02/2009 15:17 (laatste wijziging 03/02/2009 15:19)
Avatar van Sitebase PHP expert @titjes

Die return moet er wel degelijk niet onder. Dat heb je alleen nodig als je functies in MySQL schrijft.
Die @ is verplicht voor variabelen binnen procedures.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.182s