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.

È stato utile?

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
scroll top