我试图在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"
但是,当我运行它时,我收到一条错误,指出'语法不正确':'。我做错了什么?
答案 0 :(得分:214)
:setvar仅在SQL命令模式下工作,因此您可能在管理工作室中执行正常的SQL并且没有交换到命令模式。
这可以通过SQL Server Management Studio中的用户界面转到“查询”菜单,然后选择“SQLCMD模式”来完成。
答案 1 :(得分:7)
答案 2 :(得分:2)
FOR SQL2012:
转到: tools / options / Query Execution并默认选中,在SQLCMD模式下打开新查询。
点击New Query按钮并确保突出显示变量定义,您的脚本现在应该正确运行。
以前的版本:
答案 3 :(得分:0)
尝试替换:setvar DatabaseName "MesProduction_Preloaded_KLM_MesSap"
使用:
USE [MesProduction_Preloaded_KLM_MesSap]
GO