SQL Server의 쿼리 간에 변수를 공유하는 방법
SQL Server에는 전역 변수라는 개념이 없습니다. 그러나 여러 쿼리 또는 데이터베이스에서 특정 값을 재사용해야 하는 경우 다음과 같은 여러 접근 방식을 고려할 수 있습니다.
스칼라 변수 사용
스칼라 변수를 선언할 수도 있습니다. 개별 쿼리 내에서 이러한 변수는 해당 범위 외부에서 액세스할 수 없습니다. 여러 쿼리에서 동일한 변수를 사용하려면 스크립트 시작 부분에서 선언하면 됩니다.
DECLARE @GLOBAL_VAR_1 INT = Value_1 DECLARE @GLOBAL_VAR_2 INT = Value_2
그러나 이 접근 방식은 다른 데이터베이스 컨텍스트에서 변수를 사용하려고 하면 오류가 발생할 수 있습니다.
SQLCMD 변수 사용
SQLCMD 모드, SQL Server Management Studio에서 사용 가능 (SSMS)를 사용하면 현재 배치 또는 스크립트로 범위가 지정된 변수를 정의할 수 있습니다. 이러한 변수는 다음 구문을 사용하여 액세스할 수 있습니다.
$(variable_name)
SQLCMD 변수를 선언하려면:
:setvar variable_name value
예:
:setvar GLOBAL_VAR_1 10
그런 다음 다음을 사용할 수 있습니다. 후속 쿼리의 변수:
SELECT * FROM TABLE WHERE COL_1 = $(GLOBAL_VAR_1)
SQLCMD 변수는 동일한 스크립트 내에서만 유지되거나 배치.
테이블 변수 사용
또 다른 옵션은 테이블 변수를 생성하고 여기에 원하는 값을 삽입하는 것입니다. 그런 다음 여러 배치 또는 데이터베이스에서 테이블 변수를 조인하거나 쿼리할 수 있습니다.
DECLARE @GlobalVars TABLE ( Name VARCHAR(50), Value INT ) INSERT INTO @GlobalVars (Name, Value) VALUES ('GLOBAL_VAR_1', 10), ('GLOBAL_VAR_2', 20) SELECT * FROM TABLE JOIN @GlobalVars ON TABLE.VarName = @GlobalVars.Name
이 접근 방식은 더 많은 유연성을 제공하며 변수 공유가 필요한 다양한 시나리오에서 사용할 수 있습니다.
위 내용은 여러 SQL Server 쿼리에서 변수를 공유하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!