J'écris une requête SQL assez simple dans SQL 2005, mais je rencontre un problème et je n'arrive pas à comprendre ce qui ne va pas.Ecriture d'un simple SQL Server 2005 SQL dynamique
Pour la documentation, la requête doit être une sql dynamique
Un extrait de ma requête est:
@RecCreatorID int
....
....
IF (@RRecCreatorID IS NOT NULL)
Begin
Set @strSQL = @strSQL + ' AND RecCreatorID = @RecCreatorID'
End
Cependant, quand je lance IMPRIMER @strSQL, ce que je reçois est
Et RecCreatorID = @RecCreatorID
Comment puis-je obtenir la valeur réelle de @RecCreatorID à afficher?
Pourquoi devrais-je le lancer comme varchar si c'est un int dans le proc? – user279521
car @RecCreatorID est un nombre entier et @strSQL est varchar –
Correct, mais peut entraîner des injections SQL. (Bien sûr, lorsque @RecCreatorId est une chaîne.) – treaschf