[sql] SQL Server ‘: 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"

그러나 이것을 실행할 때 ”: ‘근처에 잘못된 구문이라는 오류가 표시됩니다. 내가 뭘 잘못하고 있죠?



답변

: setvar는 SQL 명령 모드에서만 작동하므로 관리 스튜디오에서 정상적인 SQL 실행 중에있을 수 있으며 명령 모드로 전환하지 않았습니다.

이 작업은 SQL Server Management Studio의 사용자 인터페이스를 통해 “쿼리”메뉴로 이동하고 “SQLCMD 모드”를 선택하여 수행 할 수 있습니다.


답변

다음 이미지에 설명 된대로 SQL Server Management Studio에서 sqlcmd 모드를 활성화하면됩니다.

여기에 이미지 설명 입력


답변

SQL2012의 경우 :

도구 / 옵션 / 쿼리 실행으로 이동하여 기본적으로 SQLCMD 모드에서 새 쿼리를 엽니 다.

새 쿼리 버튼을 누르고 변수 정의가 강조 표시되었는지 확인하십시오. 이제 스크립트가 올바르게 실행되어야합니다.

이전 버전:

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


답변

교체 시도 :setvar DatabaseName "MesProduction_Preloaded_KLM_MesSap"

와:

USE [MesProduction_Preloaded_KLM_MesSap]
GO


답변