8 messaggi dal 23 novembre 2002
In un database di SQL Server 2000 ho memorizzato all'interno di una tabella dei campi che contengono codice sql. Qualcuno sa se è possibile sfruttare quel codice all'interno di stored procedure o funzione?

Un esempio per spiegarmi meglio:

Ho una tabella cosi strutturata:
ID - Int
SQLString - Varchar(100)

Ammettiamo che la tabella contenga 2 records:
ID = 1
SQLString = " Agente='Pippo' "

ID = 2
SQLString = " Provincia='MI' OR Provincia='TO' "

Quello che vorrei riuscire a fare è una stored procedure che mi restituisce un elenco di records filtrati in base ad una clausola WHERE composta dal contenuto del campo SQLString.
Praticamente una sp che riesca a restituirmi il risultato di una query cosi formata:

SELECT * FROM Ordini WHERE Agente='Pippo' AND Provincia='MI' OR Provincia='TO'

Logicamente la sp dovrà leggere i 2 records e comporre il testo della query per poi eseguirla e restituirne il set di risultati.

Qualcuno sa se è possibile in SQL Server 2000?
E se no, è possibile con SQL Server 2005 tramite la scrittura di codice .NET integrato?

Premetto che preferirei usare SQL Server 2000 (il cliente ha già la licenza).

Grazie mille.
Maurizio
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
Quello che chiedi è possibile in qualunque versione di SQL Server solo utilizzando istruzioni dinamiche da eseguire con il metodo EXECUTE e/o con la sp_executesql ed il fatto che le stringhe siano contenute in un db o siano passate come stringhe di testo non apporta alcun miglioramento ad una pratica che sarebbe da utilizzare con le dovute cautele.
Ti rimando per ulteriori approfondimenti a questo articolo di Erland Sommarskog dal titolo quanto mai emblematico (The Curse and Blessings of Dynamic SQL)

http://www.sommarskog.se/dynamic_sql.html

Bye
8 messaggi dal 23 novembre 2002
Grazie mille,
un link veramente interessante.

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.