> 데이터 베이스 > MySQL 튜토리얼 > 여러 SQL Server 쿼리에서 변수를 공유하려면 어떻게 해야 합니까?

여러 SQL Server 쿼리에서 변수를 공유하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-29 13:02:17
원래의
406명이 탐색했습니다.

How Can I Share Variables Across Multiple SQL Server Queries?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿