假设我有一个这样的脚本:
如果(某些条件) 开始 从某个表中选择某个列 结束
假设“somecolumn”不存在并且条件不成立,这意味着选择不执行。即使选择不会被执行,脚本也无效, Management Studio 提示缺少列“somecolumn”。
问题:我可以以某种方式禁用这种检查,以便执行脚本,并且由于 if 不为 true,因此它永远不会注意到该列丢失了?
谢谢:-)
最佳答案
使用动态SQL
if(some condition)
begin
exec ('select somecolumn from sometable') --or sp_executesql
end
由于 SQL 是什么,运行它实际上没有任何意义。它不是逐行执行的:整个批处理被一次性解析等,并且在任何实际按照您的意思运行之前,在这里生成错误。这是设计使然...
关于sql-server - 禁用 TSQL 脚本检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2539166/