패키지에 프로 시저가 있습니다.Pro * C에서 문자열 배열을 PL/SQL에 전달하십시오.
create or replace package MyPack
type MyArr is table of varchar2(30) index by pls_integer;
prodecure MyProc(p in MyArr);
end MyPack;
Pro * C에서 프로 시저를 호출하고 싶습니다. 그래서 내가 (나머지 모든 기능을 밖으로)
char my_arr[50][30] = {0};
EXEC SQL EXECUTE
BEGIN
MyPack.MyProc(:my_arr);
END;
END-EXEC;
이
"PLS-S-00418, 컴파일 할 때 배열 바인딩 형식 PL/SQL 테이블과 일치해야합니다 행 유형 "
내가 잘못하고있는 것에 대한 아이디어가 있습니까?
으로 선언하는 것이 었습니다. 예제는 패키지에 선언 된 유형이 아니기 때문에 문제가 다소 혼동스럽게 보입니다. –
그렉, MyPack.MyArr.EXEC를 사용하여 선언하십시오. SQL BEGIN DECLARE SECTION; EXEC SQL my_arr MyPack.MyArr; –
@ 그렉 당신은이 일을 얻을 수 있었습니까? –