Nous écrivons parfois des scripts de dataport qui renomment des tables ou des colonnes et qui ont d'autres logiques complexes. Nous avons aussi des instructions SQL dans IF qui référencent ces anciennes colonnes ou tables. Nous avons un standard pour utiliser les instructions IF pour rendre nos scripts SQL multi-fonctionnels.Désactiver la vérification de syntaxe SQLCMD
Cependant de temps en temps, même si l'instruction if évalue à false, le code enveloppé dans le bloc est erroné, je devine en raison d'une vérification de la syntaxe.
if 1 = 0
begin
select * from mydatabase.dbo.mytable; -- doesn't execute, but still errors because doesn't exist
end
Une autre chose étrange est qu'il n'est pas toujours cohérent, parfois cela fonctionne très bien.
Est-ce que quelqu'un sait si une façon que je peux désactiver ce genre de vérifications sur une base de script par script.
Merci
NOTE
Je sais que les gens vont dire qu'ils ont essayé une situation similaire et il n'a pas l'erreur. D'abord pour moi, il n'a pas d'erreur dans SSMS mais il a erré dans SQLCMD.
sqlcmd MyTestScript.sql -r 1 -U user -P password
Puis-je mettre SSMS en mode SQLCMD Requête -> CMDMODE et il n'a toujours pas donné l'erreur. Puis, après avoir réexécuté plusieurs fois, il a commencé à faire erreur dans les deux cas.
Je ne pense pas que cela peut être fait, mais je vais regarder les réponses que vous obtenez. –