Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Richiesta su SQL

  1. #1
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296

    Richiesta su SQL

    Scusate, di solito lavorando in asp.net posto in questo spazio, ma in questo caso non so davvero: dove posso fare una domanda su SQL? :master:

  2. #2
    Io azzardo... che moderatore mi punisca... scrivi pure qui...
    Ciao
    K
    Kalman

  3. #3
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Vabbeh! Io la faccio lo stesso.

    In una stored procedure, è possibile effettuare una ricerca su una tabella utilizzando in maniera parametrica sia il nome della colonna che il valore che deve assumere?

    In pratica posso fare qualche cosa del genere:

    codice:
    SELECT * FROM (nome tabella) WHERE @colonna = @valore
    dove @colonna e @valore sono parametri che arrivano da programma?

  4. #4
    Così come hai scritto tu no.
    All'interno della stored puoi creare però una stringa contenete l'istruzione sql che poi fai eseguire con la stored di sistema
    sp_executesql.

    Passati @colonna ed @valore come parametri alla stored sarà:

    DECLARE @sql varchar(500)

    set @SQL = 'SELECT * FROM (nometabella) WHERE ' + @colonna + '=' + @valore

    exec sp_executesql @sql


    Fammi sapere
    Ciao
    K
    Kalman

  5. #5
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Grazie Kalman,
    ho creato una stored procedure seguendo le tue indicazioni,
    codice:
    CREATE PROCEDURE RA_GetDatiAziende
    		
    @colonna nvarchar (50),
    @valore nvarchar (50),
    		
    AS
    set nocount on
    
    DECLARE @sql varchar(500) 
    
    set @sql = 'SELECT * FROM (nometabella) WHERE ' + @colonna + '=' + @valore 
    exec sp_executesql @sql 
    
    return 
    GO
    e l'ho mandato in esecuzione con l'SQL query analyzer
    mi da un errore:
    codice:
    Server: messaggio 214, livello 16, stato 2, procedura sp_executesql, riga 14
    Per la procedura è previsto il parametro '@statement' con tipo di dati ntext/nchar/nvarchar.

  6. #6
    Mi è rimasta un n sulla tastiera

    DECLARE @sql nvarchar(500)

    Se la query è più lunga di 500 caratteri puoi aumentare fino ad un massimo di 4000 la dimensione della variabile.

    Ciao
    K
    Kalman

  7. #7
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Perfetto grazie 1000

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.