Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1

    [MySQL] Dichiarare una variabile con nome di campo all'interno di una stored p.

    [Database MySQL]
    Salve
    Ho una stored procedure che deve eseguire una query, all'interno della quale devo filtrare per un campo diverso a seconda del parametro passato, il problema è che se passo la stringa con gli apici non viene riconosciuta nella query, mentre se la passo senza apici mi genera un errore, vi indico un esempio:

    codice:
    BEGIN
    DECLARE vrData VARCHAR(20) DEFAULT 'tbcontr01.CRSRATA';
    if decor=1 then
    set vrData = 'tbcontr01.CRSCAD';
    elseif decor=2 then
    set vrData = 'tbcontr01.CRDECOR';
     end if;
    
    
    SELECT tbcontr01.CRID, tbcontr01.CRTIMEST, tbcontr01.CRNUM, tbcontr01.CRKRIID, tbcontr01.CRKSTID, tbcontr01.CRDECOR, tbcontr01.CRKFZID, tbcontr01.CRSCAD, tbcontr01.CRSRATA, tbcontr01.CRDFIRMA, tbcontr01.CRDSTAT, tbcontr01.CRNTAC, tbcontr01.CRPOLIE, tbcontr01.CRRATEO, tbcontr01.CRPROVVF, tbcontr01.CRPROVV, tbcontr01.CRCARAT, tbcontr01.CRSPEC, tbcontr01.CRMORA, tbcontr01.CRDANN, tbcontr01.CRDSOSP, tbcontr01.CRKCANID, tbcontr01.CRNETTOF, tbcontr01.CRNETTO, tbcontr01.CRIMPOSF, tbcontr01.CRIMPOS, tbcontr01.CRTOTALF, tbcontr01.CRTOTAL, tbcontr01.ANRAGSOC, tbcontr01.FZDESC, tbcontr01.RMDESC, tbcontr01.DRDESC, tbcontr01.Compagnia, tbcontr01.CRLORDO, tbcontr01.CRLORDOA, tbcontr01.CRNETTOA, tbcontr01.ProvvAnn, tbcontr01.VETARGA, tbcontr01.TS
    FROM tbcontr01
    WHERE (((tbcontr01.CODCOMP) Like comp) AND ((tbcontr01.RMID) Like ramo) AND ((tbcontr01.CPKUSID) Like ope) AND ((tbcontr01.USID) Like contr))
    GROUP BY tbcontr01.CRID, tbcontr01.CRTIMEST, tbcontr01.CRNUM, tbcontr01.CRKRIID, tbcontr01.CRKSTID, tbcontr01.CRDECOR, tbcontr01.CRKFZID, tbcontr01.CRSCAD, tbcontr01.CRSRATA, tbcontr01.CRDFIRMA, tbcontr01.CRDSTAT, tbcontr01.CRNTAC, tbcontr01.CRPOLIE, tbcontr01.CRRATEO, tbcontr01.CRPROVVF, tbcontr01.CRPROVV, tbcontr01.CRCARAT, tbcontr01.CRSPEC, tbcontr01.CRMORA, tbcontr01.CRDANN, tbcontr01.CRDSOSP, tbcontr01.CRKCANID, tbcontr01.CRNETTOF, tbcontr01.CRNETTO, tbcontr01.CRIMPOSF, tbcontr01.CRIMPOS, tbcontr01.CRTOTALF, tbcontr01.CRTOTAL, tbcontr01.ANRAGSOC, tbcontr01.FZDESC, tbcontr01.RMDESC, tbcontr01.DRDESC, tbcontr01.Compagnia, tbcontr01.CRLORDO, tbcontr01.CRLORDOA, tbcontr01.CRNETTOA, tbcontr01.ProvvAnn, tbcontr01.VETARGA, tbcontr01.TS
                HAVING (((tbcontr01.CRKRIID) Like risc) AND ((tbcontr01.CRKSTID) Like stato) AND (vrData Between data1 And data2));
    END
    potete aiutarmi..?

    Grazie
    Matteo
    Ultima modifica di net-level; 27-03-2014 a 19:39

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.