> 데이터 베이스 > MySQL 튜토리얼 > SQL `exec` 명령의 결과를 변수에 할당하려면 어떻게 해야 합니까?

SQL `exec` 명령의 결과를 변수에 할당하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2025-01-05 05:15:46
원래의
959명이 탐색했습니다.

How Can I Assign the Results of an SQL `exec` Command to a Variable?

출력 매개 변수를 사용하여 Exec 결과를 SQL 변수에 할당

SQL에서 exec 명령은 일반적으로 저장 프로시저와 함수를 실행하는 데 사용됩니다. 제안한 것과 같은 표현식("exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1")을 사용하여 exec 호출 결과를 변수에 직접 할당할 수는 없지만 이 기능을 달성하기 위한 대체 방법이 있습니다.

선호되는 접근 방식 중 하나는 출력 매개변수를 사용하는 것입니다. 출력 매개변수를 사용하면 변수를 입력으로 전달할 수 있을 뿐만 아니라 저장 프로시저나 함수에서 반환된 값으로 업데이트할 수도 있습니다. 수행 방법은 다음과 같습니다.

출력 매개 변수가 있는 저장 프로시저 만들기:

CREATE PROCEDURE YourStoredProcedure(
    @Param1 int,
    @Param2 varchar(5),
    @Param3 datetime OUTPUT
)
AS
    IF ISNULL(@Param1, 0) > 5
    BEGIN
        SET @Param3 = GETDATE()
    END
    ELSE
    BEGIN
        SET @Param3 = '1/1/2010'
    END
    
    RETURN 0
GO
로그인 후 복사

이 예에서는 @Param3 매개 변수가 출력으로 선언됩니다. 매개변수. 이는 저장 프로시저에서 반환된 값으로 업데이트됩니다.

출력 매개변수를 사용하여 저장 프로시저 호출:

DECLARE @OutputParameter datetime
       ,@ReturnValue     int

EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT

PRINT @ReturnValue
PRINT CONVERT(char(23), @OutputParameter, 121)
로그인 후 복사

이 예에서 @OutputParameter 변수가 선언되어 저장 프로시저에 출력 매개변수로 전달됩니다. exec 호출 후 @OutputParameter 변수에는 저장 프로시저에서 반환된 결과가 포함되어 콘솔에 인쇄됩니다.

출력:

0
2010-01-01 00:00:00.000
로그인 후 복사

출력 매개변수를 사용하면 SQL에서 저장 프로시저와 클라이언트 애플리케이션 간에 값을 전달하는 강력하고 효율적인 방법이 제공됩니다.

위 내용은 SQL `exec` 명령의 결과를 변수에 할당하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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