sql-server - 禁用 TSQL 脚本检查?

标签 sql-server tsql

假设我有一个这样的脚本:

如果(某些条件) 开始 从某个表中选择某个列 结束

假设“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/

相关文章:

sql-server - 创建一个读取值并输出单词的函数

sql - 重构使用 row_number() 返回具有唯一列值的行的 tsql View

performance - 忽略 T-SQL 中的 NULL 参数

c# - 主键违规(重复的键值?)

mysql - 找到 MySQL 和 Cassandra 的正确路径

sql - tSQL CASE 控制执行

sql - 如何使用 CASE/IF (SQL 查询)检查列中的子字符串

sql-server - 相当于 oracle 的 T-SQL 显示所有

javascript - Node mssql 插入返回未定义的记录集

java - Android 上有对 sql server Compact 的支持吗?