salve Stefano,
Stefano_VR wrote:
ciao a tutti ho questa query
SELECT TOP 3 *
FROM
tbl_Test_Domanda
e Vorrei riuscire a:
1.Parametrizzare il valore TOP per rendere dinamico il numero dei record che voglio visualizzare
precedentemente a SQL Server 2005, purtroppo, il TOP x e' un costrutto che richiede un valore costante e non una variabile, come invece avviene ora.. puoi pero' utilizzare ROWCOUNT, quindi
SET ROCOUNT @numRighe;
SELECT ... FROM ... WHERE ...;
SET ROCOUNT 0;
per reimpostare correttamente il rowcount..
2. Creare un store Procedure dinamica che mi aggiunga delle UNION a seconda del valore che gli passo
SELECT TOP 3 *
FROM
tbl_Test_Domanda
UNION
SELECT TOP 5 *
FROM
tbl_Test_Domanda
questa non l'ho capita completamente.. ma penso che purtroppo devi passara ad una costruzione dinamica dell'intero comando ed eseguirlo via EXEC o sp_executesql, vedi quindi
http://www.sommarskog.se/dynamic_sql.html, il bellissimo articolo di Erland Sommarskog a questo proposito.. saluti