MSSQLSERVER_137

자세한 정보

제품 이름

SQL Server

제품 버전

11.0

제품 빌드 번호

 

이벤트 ID

137

이벤트 원본

MSSQLSERVER

구성 요소

SQLEngine

심볼 이름

P_SCALAR_VAR_NOTFOUND

메시지 텍스트

스칼라 변수 "%.*ls"을(를) 선언해야 합니다.

설명

이 오류는 SQL 스크립트에서 변수를 먼저 선언하지 않고 사용하는 경우에 발생합니다. 다음 예에서는 @mycol이 선언되지 않았으므로 SET 및 SELECT 문에 대해 오류 137이 반환됩니다.

SET @mycol = 'ContactName';

SELECT @mycol;

이 오류의 좀 더 복잡한 원인 중 하나로 EXECUTE 문 외부에서 선언된 변수를 사용하는 경우가 있습니다. 예를 들어 SELECT 문에 지정된 @mycol 변수는 SELECT 문에서 로컬로 사용되므로 EXECUTE 문 외부에 있습니다.

USE AdventureWorks2012;

GO

DECLARE @mycol nvarchar(20);

SET @mycol = 'Name';

EXECUTE ('SELECT @mycol FROM Production.Product;');

사용자 동작

SQL 스크립트에서 변수를 사용하기 전에 해당 변수를 선언했는지 확인하십시오.

EXECUTE 문 외부에서 선언된 변수를 참조하지 않도록 스크립트를 다시 작성하십시오. 예를 들면 다음과 같습니다.

USE AdventureWorks2012;

GO

DECLARE @mycol nvarchar(20) ;

SET @mycol = 'Name';

EXECUTE ('SELECT ' + @mycol + ' FROM Production.Product';) ;

참고 항목

참조

EXECUTE(Transact-SQL)

SET 문(Transact-SQL)

DECLARE @local\_variable(Transact-SQL)