이것은 메타 질문입니다. 각 데이터베이스와 함께 제공되는 INFORMATION_SCHEMA
을 사용하여 저장 프로 시저의 반환 값을 검색하는 방법은 무엇입니까? 함수를 사용하면 반환 값이 명시 적으로 선언되고 ROUTINES
아래의 INFORMATION_SCHEMA
에 표시됩니다.SQL Server - 프로그래밍 방식으로 저장 프로 시저의 반환 값 검색
그러나 저장 프로 시저는 (항상 SP와 함수 사이의 구별로) 기괴한 회색 영역으로 보입니다. 그들은 공식적으로 더 '리턴 값을'이없는 것으로 보이지만, 아직 끝에서 당신은 SELECT 문 등을 실행할 수 있습니다 : 예를 들어
SELECT RowID = @RowID;
; C#에서는 'RowID'열의 반환 값을 읽습니다. 이것은 저장 프로 시저가 실제로 함수처럼 T-SQL 코드의 컨텍스트가 아니더라도 실제로 값을 반환 할 수 있음을 분명히합니다.
정의 자체를 구문 분석 할 필요없이 이러한 값과 유형을 어떻게 발견합니까?
편집
이 검색하는 경우, 저장 프로 시저의 반환 값은 결과가을 설정 라는 데이터를 반환 할 수 있습니다 또한 정수 암시하지만.
http://msdn.microsoft.com/en-us/library/ff878236.aspx –
저장 프로 시저의 반환 값은 ... 반환 값입니다. 그들은 항상 정수 (암시 적으로 0)를 반환합니다. 그러나 그들은 또한 OUT 파라미터와 결과 세트를 가질 수 있습니다. –
그래서 ROWID = @RowID를 선택할 때 이것은 반환 값이 아니지만 결과 집합은 무엇입니까? –