Avatar billede trumf Nybegynder
15. januar 2006 - 14:17 Der er 3 kommentarer og
1 løsning

parametre og stored procedures

Hejsa E

I nedenstående SP vil den første gerne køre hvis jeg sætter et tal ind i stedet for _numresult, men _sortorder ignoreres totalt uanset hvad der hældes i den.

Jeg har forsøgt mig som i ELSE men den fejler i Mysql browseren


DELIMITER $$

DROP PROCEDURE IF EXISTS `vinguide`.`P_GetVin` $$
CREATE PROCEDURE `P_GetVin`(
    IN _sortOrder VARCHAR(50),
    IN _dealerID INT,
    IN _numResult INT
)
BEGIN
  If _dealerID > 0 Then
    SELECT _sortOrder AS so, v.vID, v.navn, v.aargang, v.rettet, v.rettetaf,
    b.navn AS rettetafnavn, v.volumen, v.prodID, p.prodname, f.pris, f.lagerstatus
    FROM vin v
    INNER JOIN brugere b ON b.brugerID = v.rettetaf
    INNER JOIN forhand f ON f.vID = v.vID
    LEFT JOIN producent p ON v.prodID = p.prodID
    WHERE f.forhandlerID = _dealerID
    ORDER BY _sortOrder LIMIT _numResult;
  ELSE
    SET @SQL = "SELECT " + _sortOrder + " AS so, v.vID, v.navn, v.aargang, v.rettet, v.rettetaf, "
    @SQL = @SQL + "b.navn AS rettetafnavn, v.volumen, v.prodID, p.prodname, 0 AS pris, 1 AS lagerstatus "
    @SQL = @SQL + "FROM vin v "
    @SQL = @SQL + "INNER JOIN brugere b ON b.brugerID = v.rettetaf "
    @SQL = @SQL + "LEFT JOIN producent p ON v.prodID = p.prodID "
    @SQL = @SQL + "ORDER BY " + _sortOrder
    @SQL = @SQL + " LIMIT " + _numResult;
    EXECUTE @SQL;
  END IF;

END $$

DELIMITER ;


Det er søreme som at lære at cykle igen :) Kan nogen hjælpe ?
Avatar billede arne_v Ekspert
15. januar 2006 - 15:26 #1
kan du godt bruge en SP parameter som du gør i første SQL sætning ??
Avatar billede trumf Nybegynder
15. januar 2006 - 15:53 #2
SELECT _sortOrder AS so ??
Ja!
Avatar billede trumf Nybegynder
15. januar 2006 - 15:55 #3
Men den skal ikke bruges, jeg skrev den bare ud for at se om den i det hele taget kom med over. Og det gør den..
Avatar billede trumf Nybegynder
15. januar 2006 - 17:32 #4
Jeg løste det ved at concatisere variablene ind i. Ikke pænt, men det virker ;-)
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