2017-09-06 2 views
0

PL SQL 저장 프로 시저를 실행하는 동안 문제가 발생했습니다.PLSQL 프로 시저의 매개 변수 문제

그것은 매개 변수가 필요하지만 아무도 정의되지 않았다고 말합니다.

create or replace PROCEDURE SP_LIST_PRICE_BWI (P_ERROR_CODE OUT VARCHAR2,P_ERROR_TEXT OUT VARCHAR2,P_DATA_TEXT OUT VARCHAR2)

당신이 나를 도울 수 있다면 정말 감사합니다 :

나는이 execute SP_LIST_PRICE_BWI;

로 실행을 시도한 다음은 프로 시저 선언입니다.

감사합니다. Nicolás.

+3

에게 ** 세 ** 출력 매개 변수에 정의 된 절차를 통과 바인드 변수를 사용합니다. 프로 시저가 결과를 –

+0

에 넣을 수있는 PL/SQL 변수를 제공해야합니다. 프로 시저에서 세 개의 out 매개 변수가 정의되어 사용됩니다. 매개 변수를 제공한다는 것은 무엇을 의미합니까? – nsoria

+0

절차의 서명은 ** 사양 **입니다. 이 경우 세 개의 출력 매개 변수가 지정됩니다. 즉, 프로 시저를 호출 할 때 ** 일치하는 변수를 3 개 ** 할당해야합니다. – APC

답변

0

OUT 매개 변수에 변수 이름을 제공하지 않으면 프로 시저를 호출 할 수 없습니다.

은 어느 당신은

VARIABLE v_ERROR_CODE VARCHAR2 
VARIABLE v_ERROR_TEXT VARCHAR2 
VARIABLE v_DATA_TEXT VARCHAR2 

EXECUTE SP_LIST_PRICE_BWI(:v_ERROR_CODE ,:v_ERROR_TEXT, :v_DATA_TEXT); 

또는 적절한 크기의 변수를 선언하고

DECLARE 
v_ERROR_CODE VARCHAR2(5); 
v_ERROR_TEXT VARCHAR2(100); 
v_DATA_TEXT VARCHAR2(1000); 

BEGIN 
SP_LIST_PRICE_BWI(v_ERROR_CODE ,v_ERROR_TEXT, v_DATA_TEXT); 
END; 
+0

고마워요! 이것은 나를 위해 잘 작동합니다. – nsoria

관련 문제