'반환 값'은 실행 상태 표시기를 의미하며 정수입니다. 다시 데이터를 전달하는 것이 아닙니다. 표준 값은 성공시 0, 실패 인 경우 1이지만 SP의 정수를 다시 전달하여 여러 가지 상태를 반영 할 수 있습니다. 은 SQL Server 도움말 파일에서
:
RETURN_STATUS @는 모듈의 반환 상태를 저장하는 옵션 정수 변수입니다. 이 변수는 EXCHUTE 문에서 사용되기 전에 일괄 처리, 저장 프로 시저 또는 함수에서 선언되어야합니다.
스. 라 값 사용자 정의 함수를 호출하는 데 사용될 때, @ return_status 변수는 스. 라 데이터 유형이 될 수 있습니다.
다른 데이터 유형을 전달하고 ('유형'을 쿼리 할 수 있어야 함) '출력 매개 변수'를 사용하십시오. 출력 매개 변수는 모든 데이터 유형이 될 수 있으며 일단 SP가 존재하면 SP의 object_id를 전달하고 sys_parameters 시스템 테이블을 쿼리하거나 object_id 및 필터 프로 시저 이름의 sys.procedures에 조인하고 sys .parameters를 sys.types (user_type_id에)로 설정하면 출력 매개 변수를 포함하여 각 매개 변수의 sql 데이터 형식 이름을 얻을 수 있습니다.
예 스칼라 값 함수에 대한
DECLARE @Param3 bigint
exec dbo.MySPName @Param1, @Param2, @Param3 output
SELECT @Param3 --gives you output value
--This will give you the names and data types of all output parameters in this SP
SELECT p.name, t.name as [type], p.max_length, is_output
FROM sys.parameters p
JOIN sys.types t ON p.user_type_id = t.user_type_id
WHERE p.object_id = OBJECT_ID(N'MySPName')
AND p.is_output = 1
는, 매개 변수 및 유형 테이블에서이 같은 쿼리 (p.name은/빈 빈 문자열) 이름없는 매개 변수를 반환합니다 -이 데이터 유형을 포함 UDF에 대한 반환 값을 나타냅니다 . 그러나 상점 프로시 듀어는 '리턴 상태'정수만 가질 수 있습니다.
출처
2013-02-14 15:06:17
ari
정확히 무엇이 필요하고 무엇이 문제입니까? Didnt는 그것을 얻었습니다 – DevelopmentIsMyPassion
제발 맑게해라. ..? 우리는 당신이 원하는 것을 얻지 못하고 있습니다. –
반환 된 값의 유형에 대한 정보가 필요합니다. 예를 들어 Name은 "varchar"또는 "nvarchar"입니다. Id는 "int"또는 "bigint"입니다. –