Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    [SQL'08] stored proc.con parametri e valori di default

    Ho una stored procedure a cui dovrei mettere una clausola in where opzionale quando gli viene fornito un parametro che però è opzionale. Il campo su cui il parametro lavora (e quindi anche il parametro) è di tipo date. Ho risolto così ma vorrei conferma di aver fatto nel modo giusto:
    quando viene fornito il parametro la select deve filtrare i risultati dove data = yyyymmdd, quando non viene fornito la query non deve filtrare per data.
    Allora ho pensato di mettere due parametri con un valore di default
    @datafrom as date ='20000101'
    @datato as date =''
    seguito dall'istruzione
    if @datato = Cast('' as date)
    set @datato = dateadd(day,1,GETDATE())

    La query in WHERE riporta ... tabella.campo >= @datafrom AND tabella.campo < @datato

    In questo modo quando NON voglio filtrare per data e non gli passo alcun parametro la query sounds like:
    WHERE .... tabella.campo >= '20000101' AND tabella.campo < '-datadidomani-'

    Quando invece voglio filtrare i risultati su una singola data forzo i parametri ad assumere due valori... ad esempio se voglio filtrare i risultati relativi al 15/08/2012 imposto
    @datafrom = '20120815'
    @datato = '20120816'
    e la query sounds like:
    WHERE .... tabella.campo >= '20120815' AND tabella.campo < '20120816'

    ....

    per funzionare funziona, ma avrò fatto bene?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    where .... (Colonna=@parametro OR @parametro is null)


  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.