Question

Qu'est-ce que j'essaie de faire de cette requête, c'est que j'essaie d'obtenir toutes les lignes anciennes que la limite spécifiée de la table CustomerTransaction:

@Cutoffnumber INT

SELECT @SQL = 'SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) > @Cutoffnumber '

Mais je reçois l'erreur ci-dessous, notez qu'il s'agit d'une requête SQL dynamique.

doit déclarer la variable scalaire "@Cutoffnumber"

Comment devrais-je aller.

Était-ce utile?

La solution

regarder dans sp_executesql

Autres conseils

Decalre @Cutoffnumber INT    
Set @Cutoffnumber = @someValue
SELECT @SQL = 'SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) >' + @Cutoffnumber 

Bien que cela semble que vous puissiez le faire sans SQL dynamique:

Declare @Cutoffnumber INT    
Set @Cutoffnumber = @someValue
SELECT * FROM customertransaction WHERE DATEDIFF(DD, Transactiondate, GETDATE()) > @Cutoffnumber 

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top