를 삽입 할 값의 배열을 가진 하나 개의 쿼리에서 대량 삽입 값에 :오라클 - 나는이 테이블이 어떻게
A {
id,
name
}
B {
id,
name,
aId
}
aId
그래서 나는 목록을 표 A
에 외래 키 테이블 B에 삽입해야하는 문자열.
List: names['name1', 'name2']
또한 A. A.id의 목록을 가져 오는 select 문이 있습니다.
List: id's[1, 2]
문제는 표 B가 조회되고 동시에 문자열 목록이 고려되어야 모든 A.id 위해 삽입 행을 가질 필요가 있다는 것입니다.
최종 결과는 내가 얻을 것 아이디의 (1, 2) 예를 들어, 그래서 4 행 (각 ID에 대한이 모든 ID가 목록에있는 모든 문자열을 삽입해야하기 때문에) 생성됩니다
insert into b (id, name, aId) values (b_id_seq.nextval, name1, 1)
insert into b (id, name, aId) values (b_id_seq.nextval, name2, 1)
insert into b (id, name, aId) values (b_id_seq.nextval, name1, 2)
insert into b (id, name, aId) values (b_id_seq.nextval, name2, 2)
을
내가 작업하게 된 것은 ID의 배열을 반환하는 select 문을 작성하는 것입니다. 나는 또한이 두리스트를 가지고 선택을 구현하려했지만 행운이 없었다.
첫 번째 시도는 특정 열 값 부분 안에 IN
절을 사용하고 두 번째 시도는 INSERT ALL을 사용하는 것이 었습니다. 마지막 사례에서 동적으로 insert 문을 생성하는 방법을 이해하지 못했습니다.
이런 종류의 INSERT 문을 어떻게 해결할 수 있습니까?