"Oracle Database는 프로 시저가 호출 된 환경에서 인수의 길이, 정밀도 및 스케일을 파생합니다."
이 관련 질문을 확인하십시오 .
참조 : Oracle® Database SQL Reference 10g Release 2 (10.2) 의미론 / 인수 / 데이터 유형 아래를 살펴보십시오.
-------------------차이점은 서브 프로그램 제목에는 서브 프로그램이 호출 될 때 실제 매개 변수 로 대체되는 형식 매개 변수가 있다는 것입니다 .
create or replace function f(
p_x in varchar2 /* a formal parameter */
,p_y in varchar2 /* a formal parameter */
) return varchar2 /* a formal parameter */
is
begin
return p_x || p_y;
end;
declare
v_z varchar2(10);
v_x constant varchar2(1) := 'X';
begin
v_z := f(v_x, 'Y'); /* actual parameters */
end;
형식 매개 변수는 제한되지 않으며 (제한된 하위 유형을 사용할 수 있음) 변수를 선언 할 때 관련이없는 매개 변수 모드 및 가능한 기본값 에 대한 정보도 포함 합니다.
형식 및 실제 매개 변수의 데이터 유형은 동일하지 않아도되지만 호환 가능 합니다.
다른 많은 세부 정보도 있지만 PL / SQL 언어 참조 의 PL / SQL 하위 프로그램 장에서 읽을 수 있습니다 . 특별 하위 프로그램 매개 변수를 참조하십시오 .
왜 형식 매개 변수가 제한되지 않아야하는지 모르겠지만 서브 프로그램 헤더에서 (불필요한) 세부 사항을 제거하여 좀 더 추상적으로 만드는 것에 만족합니다.
출처
https://stackoverflow.com/questions/22050189