oracle에서 저장 프로 시저를 호출 할 때 매개 변수 유형의 순서가 중요합니까? Oracle 저장 프로 시저 ... IN 매개 변수 앞에 OUT 매개 변수를 넣는 데 문제가 있습니까?
예를 들어 (다시 특정 구문을 용서하십시오) 우리는 위의 같은 작업을 수행 할 때 우리가 밖으로 OUT 매개 변수에 전달 된 값을 가져my_proc (
param_a IN NUMBER
, param_b IN STRING
, param_c OUT NUMBER
, param_d OUT STRING
) begin
param_c = param_a
param_d = param_b
end
(구문 오류를 용서하십시오). 우리가 param_b 이상 param_c 이동할 때
그러나, 우리는 대신에 전달 된 값의 0.0 NULL을 얻을. 우리는 PL/SQL이를 테스트
my_proc (
param_a IN NUMBER
, param_c OUT NUMBER
, param_b IN STRING
, param_d OUT STRING
) begin
param_c = param_a
param_d = param_b
end
.
우리가 간과 할 것이 있습니까?
감사 BayouBob는
명명 된 매개 변수 또는 위치 매개 변수를 사용하고 있습니까? 네임드는 때로는 예상대로 처리되지 않고 위치 적으로 취급되기 때문에 본 내용을 설명 할 수 있습니다. –
우리는 연결해야하는 데이터베이스를 제공하는 클라이언트의 변덕에서 벗어나기 위해 위치에서 이름 붙은 것으로 전환하고 있습니다. –