sr2*_*r28 3 t-sql visual-studio
我已经创建了一个 SQL Server 数据库项目并导入了我的数据库。我有一些静态数据表,我想在每次重新部署时重新创建它们,因此它们会作为部署后脚本的一部分重新创建。
为了确保删除并重新创建它们,我已将这些静态数据表更改为具有“无”构建操作,因此它们作为构建的一部分被删除,并且仅作为部署后步骤的一部分重新创建。
我的问题是我有一个引用这些表的视图。显然,这显示了语法错误,因为表不再是构建的一部分,因为它们的构建操作是“无”。我的解决方法是尝试将视图创建为部署后脚本的一部分。我使用以下代码执行此操作:
:r .\PostDeploymentScripts\Views\myView.sql
Run Code Online (Sandbox Code Playgroud)
实际的脚本如下所示:
CREATE VIEW [CompTotalByType] AS
SELECT
c.Id,
t.id AS TypeId,
SUM(c.total) AS CompTotal,
FROM CompNumber c
INNER JOIN Type t
ON t.ProdId = c.ProdId
GROUP BY
c.Id,
t.id
Run Code Online (Sandbox Code Playgroud)
但是,现在我在“CREATE VIEW”下收到语法错误,如下所示:
严重性代码 说明 项目文件行抑制状态错误 SQL72007:语法检查失败“CREATE 附近的语法不正确”。在附近的批处理中:'CREATE VIEW [CompTotalByType] AS' ....路径名称......
但是,当我将此代码放入 SSMS 时,它没有语法错误。这是什么原因造成的?
我在这里找到了答案:SQL72007:语法检查失败“发生意外的文件结尾。” 批量接近:
第二个答案说您需要在前一个脚本中添加“GO”。这是有道理的,因为 CREATE VIEW 需要位于其自己的批次中。因此,在创建视图之前,我在之前的脚本底部添加了一个“GO”并修复了该问题。
| 归档时间: |
|
| 查看次数: |
1231 次 |
| 最近记录: |