Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  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

  2. #2
    Matteo, lo sai che il regolamento impone di indicare con quale db stai lavorando: perché non lo fai, benedetto figliuolo?

  3. #3
    Quote Originariamente inviata da optime Visualizza il messaggio
    Matteo, lo sai che il regolamento impone di indicare con quale db stai lavorando: perché non lo fai, benedetto figliuolo?
    scusa.. l'avevo dimenticato..

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.