SQLServer’: setvar’错误

我试图在 T-SQL 中创建一些脚本变量,如下所示:

    /*
Deployment script for MesProduction_Preloaded_KLM_MesSap
*/


GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;


SET NUMERIC_ROUNDABORT OFF;




GO
:setvar DatabaseName "MesProduction_Preloaded_KLM_MesSap"

但是,当我运行这个命令时,我得到了一个错误,说明‘ Inrectrysemicalnear’:’。我做错了什么?

76545 次浏览

Setvar 只能在 SQL 命令模式下工作,因此您可能处于管理工作室中的正常 SQL 执行中,而没有切换到命令模式。

这可以通过 SQLServerManagementStudio 中的用户界面来完成,方法是进入“ Query”菜单并选择“ SQLCMD 模式”

试着替换 :setvar DatabaseName "MesProduction_Preloaded_KLM_MesSap"

与:

USE [MesProduction_Preloaded_KLM_MesSap]
GO

SQL2012:

浏览: 工具/选项/查询执行并检查默认情况下,在 SQLCMD 模式下打开新查询。

点击 New Query 按钮并确保突出显示了变量定义,您的脚本现在应该可以正确运行了。

以前版本:

Http://blog.sqlauthority.com/2013/06/28/sql-server-how-to-set-variable-and-use-variable-in-sqlcmd-mode/

只需在 SQLServerManagementStudio 中启用 sqlcmd 模式,如下图所示。

enter image description here