SQL Server ': setvar' Ошибка
Я пытаюсь создать несколько переменных script в 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"
Однако, когда я запускаю это, я получаю сообщение об ошибке "Неверный синтаксис рядом с:". Что я делаю неправильно?
Ответы
Ответ 1
: setvar работает только в режиме командной строки SQL, поэтому вы, возможно, выполняете нормальное выполнение SQL в студии управления и не переключились в командный режим.
Это можно сделать через пользовательский интерфейс в SQL Server Management Studio, перейдя в меню "Запрос" и выбрав "Режим SQLCMD".
Ответ 2
попробуйте заменить :setvar DatabaseName "MesProduction_Preloaded_KLM_MesSap"
с:
USE [MesProduction_Preloaded_KLM_MesSap]
GO
Ответ 3
ДЛЯ SQL2012:
перейти к:
tools/options/Query Execution и проверить по умолчанию, открыть новые запросы в режиме SQLCMD.
Нажмите кнопку "Новый запрос" и убедитесь, что определения переменных выделены, ваш script должен работать правильно.
Предыдущие версии:
http://blog.sqlauthority.com/2013/06/28/sql-server-how-to-set-variable-and-use-variable-in-sqlcmd-mode/
Ответ 4
Просто включите режим sqlcmd в SQL Server Management Studio, как описано на следующем рисунке.
![введите описание изображения здесь]()