sql - SQL Server 添加列然后更新列错误
问题描述
我正在编写一个在导入多个表后修改多个表的 sql 脚本。在一个表中,我没有“RCVDDATE”列,但在另一个相关表中却有。我正在使用以下命令添加新表:
ALTER TABLE TEST.CASES.ADDRESS
ADD RCVDDATE DATE;
然后我运行这个命令来引入正确的值:
UPDATE TEST.CASES.ADDRESS
SET RCVDDATE = c.RCVDDATE
FROM TEST.CASES.CALLS c
Where TEST.CASES.ADDRESS.CALL_NUMBER = c.CALL_NUMBER;
单独他们工作正常。但是当我在脚本中执行它们时会引发错误:
Msg 207, Level 16, State 1, Line 5
Invalid column name 'RCVDDATE'.
我的 Intellisense 有问题还是有其他问题?如果您对如何让脚本在 SQL Server 中运行有任何建议,请告知。
解决方案
您需要一个 GO 语句来分隔您的批次。来自https://docs.microsoft.com/en-us/sql/t-sql/language-elements/sql-server-utilities-statements-go?view=sql-server-2017
SQL Server 应用程序可以将多个 Transact-SQL 语句发送到 SQL Server 实例以作为批处理执行。然后将批处理中的语句编译为单个执行计划。程序员在 SQL Server 实用程序中执行即席语句,或构建 Transact-SQL 语句的脚本以通过 SQL Server 实用程序运行,使用 GO 表示批处理结束。
推荐阅读
- c# - Microsoft.ML 训练视频数据模型
- html - 从 django 模型表单中删除字段会破坏 HTML 中的格式
- r - 如何在 ggplot2 中创建具有多个计数变量的线图?
- r - 如何使用带有数据框的 dplyr 在 R 中创建百分位数?
- amazon-web-services - 如何从jenkins管道将命令行参数传递给aws beanstalk中的jar?
- nuget - nuget.exe 忽略 packageSourceCredentials 的继承
- c# - 如何更改此代码以查找具有特定标签而不是特定对象的对象的转换?
- android - 使用 app:srcCompat android MaterialButton 而不是 app:icon 时图标未显示
- reactjs - 反应上传功能不显示/上传文件内容(antd/AntDesign)
- asp.net-core - 在 Jenkins(BlueOcean) 管道中发布 cobertura 代码覆盖率结果