SQL 작업 시 exec 호출 결과를 변수에 할당해야 하는 경우가 있습니다. 이 시나리오에서는 up_GetBusinessDay의 출력을 @PreviousBusinessDay라는 변수에 할당하려고 합니다.
Exec 결과를 직접 할당하는 것이 논리적으로 보일 수 있지만 변수이므로 이 접근 방식은 SQL에서 지원되지 않습니다. 그 이유는 exec 문이 값을 반환하지 않고 저장 프로시저를 실행하는 데 사용되기 때문입니다. 따라서 실행 결과를 변수에 직접 할당할 수 없습니다.
저장 프로시저에서 단일 값을 다시 전달하려면 출력 매개 변수를 사용할 수 있습니다. 출력 매개변수를 사용하면 저장 프로시저에서 반환된 값을 받을 변수를 지정할 수 있습니다. SQL Server에서 출력 매개 변수를 만들고 사용하는 방법은 다음과 같습니다.
저장 프로시저 정의:
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
저장 프로시저 호출:
DECLARE @OutputParameter datetime ,@ReturnValue int EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT PRINT @ReturnValue PRINT CONVERT(char(23), @OutputParameter, 121)
출력:
0 2010-01-01 00:00:00.000
출력 매개변수를 사용하면 exec 호출 결과를 변수에 효과적으로 할당할 수 있습니다. . 이 기술은 저장 프로시저에서 단일 값을 검색해야 할 때 일반적으로 사용됩니다.
위 내용은 SQL 코드와 저장 프로시저 간에 값을 전달하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!