Cela fonctionne dans un fichier batch :
sqlcmd -Q "exec sp_mysp @refdate = '2019-04-29'" -S myserver -d mydb -o C:\myfolder\result.csv
Mais je veux que le fichier batch boucle une liste de dates et passe chaque membre de la liste comme variable à -Q au lieu de coder la date en dur et le fichier de sortie doit également commencer par la date.
Pour une seule date, j'ai essayé
set inputdate = '2019-04-29'
set "outputfile=C:\myfolder\%inputdate%_result.csv"
sqlcmd -Q "exec sp_mysp @refdate = try_cast(%inputdate% as date) " -S myserver -d mydb -o outputfile
Mais je reçois une erreur : Incorrect syntax near the keyword 'as'
La suppression du '%' autour de inputdate donne un message d'erreur : Incorrect syntax near 'inputdate'
Et l'utilisation de @inputdate donne une erreur : Incorrect syntax near '@inputdate'