Utilizzando una variabile in query dinamica in SQL Server
-
12-12-2019 - |
Domanda
Che cosa sto cercando di fare da questa query è che sto cercando di ottenere tutte le righe che sono più vecchie del numero di taglio specificato dalla tabella del customerTransaction:
@Cutoffnumber INT
SELECT @SQL = 'SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) > @Cutoffnumber '
.
Ma sto ottenendo l'errore qui sotto, nota che questa è una query SQL dinamica.
..deve dichiarare la variabile scalare "@culoffnumber"
Come dovrei andare.
Soluzione
Guarda in sp_executesql
Altri suggerimenti
Decalre @Cutoffnumber INT
Set @Cutoffnumber = @someValue
SELECT @SQL = 'SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) >' + @Cutoffnumber
.
Anche se sembra che tu possa farlo senza Dynamic SQL:
Declare @Cutoffnumber INT
Set @Cutoffnumber = @someValue
SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) > @Cutoffnumber
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow