2
매핑 테이블에 레코드를 삽입하는 절차의 속도를 높여야합니다. 주 문서 테이블이고 t_mapping이며, t_docs을배열 매개 변수로 Oracle 테이블 조인
InsertDocsToFolder as
procedure this(p_folderid in number, p_docs in out nocopy DocList)
문서 목록이
type DocList is table of int index by integer;
다음과 같이 절차의 핵심 레코드를 삽입
다음과 같이 정의된다
내가 사용하는 절차는 서명이 p_folderid를 p_docs에 매핑하는 테이블 :
forall i in 1..p_docs.count save exceptions
insert into t_mapping select p_folderid, p_docs(i) from t_docs D where D.docid = p_docs(i);
commit;
내가해야한다고 생각합니다. forall 루프를 단일 SQL 문으로 대체 할 수 있습니다. 누구든지 더 빠른 기술을 제안 할 수 있습니까? p_docs는 테이블 유형이므로 t_docs에 직접 참여할 수 있습니까?
마이너 업데이트가 ... 난 당신이 할 수있는 마지막 선을 필요로 생각)) – Craig
고마워. 그것은 매력처럼 작동합니다. 위에서 작성한 내용을 감안할 때 '즉시 실행'문에 DocList를 포함시키는 방법을 알고 있습니까? t_docs가 잘못된 식별자입니다. – user481779
@Craig, 수정 해 주셔서 감사합니다. –