Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 22 su 22
  1. #21
    Come immaginavo
    Così dovremme andare meglio, spero

    codice:
    CREATE PROCEDURE codici
    /* in input arriva la figura, restituisce tutti i valori associati alla
    figura.
    */
    @figura varchar(50) , @ordinamento varchar(50)
    
    
     AS
      DECLARE @SQL nvarchar(4000)
    
      SET @SQL = 'SELECT b.codice_prodotto, b.prezzo_riv,  b.descrizione_breve, 
       b.descrizione_estesa FROM articoli b 
       WHERE b.fig = ''' + Replace(@figura,'''','''''') + ''' 
      and b.on_line=''yes'''
      
    IF @ordinamento=1 
       SET @SQL = @SQL +  'order by codice_prodotto ASC'
    IF @ordinamento=3 
       SET @SQL = @SQL + ' order by prezzo_riv ASC'
    IF @ordinamento=2 
       SET @SQL = @SQL + ' order by codice_prodotto DESC'
    IF @ordinamento=4 
       SET @SQL = @SQL + ' order by prezzo_riv DESC'
    
    
    --Esecuzione della query 
    EXEC sp_executesql @SQL
    
    GO

  2. #22
    Originariamente inviato da deivnet
    Ciao intervengo nella vostra discussione,
    se non si vogliono usare troppi CASE o simili si possono creare delle query dinamiche se la versione di SQL Server che si usa è dal 2000 in su.
    una semplice osservazione - che già conoscerai, immagino: creare la stringa sql ed eseguirla con exec vanifica lo scopo della sp (la stringa infatti non viene compilata); tanto vale - per flessibilità - crearla dentro al programma chiamante ed eseguirla da lì...

    in più, il metodo è deprecato - in generale - in quanto si presta facilmente ad attacchi di sql-injection


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.