나는 다음과 같은 오라클의 절차를 (I 질문이 더 일반적인하기 위해 몇 가지 내용을 가지고했습니다 :는 INSERT에서 여러 값을 반환하고 삽입 모두 다른 테이블에
create or replace
procedure Insert_Row (foo IN VARCHAR2,
buzz in VARCHAR2,
t_in MyType)
is
l_cur_id number;
begin
insert into table1 (foo,buzz)
returning bar into l_cur_id;
BEGIN
FOR i IN 1..t_in.count LOOP
insert into table2 (bar, something)
values(l_cur_id,t_in(i));
commit;
END LOOP;
end;
end;
그것을가하는 모든 행을 삽입입니다 table1
로, 단지 table1
에 삽입 된 행의 ID를 얻고 table2
에 삽입하는 데 사용 여기
create or replace
TYPE MyType AS VARRAY(200) OF VARCHAR2(50);
내 질문 :buzz
을 table2
에 어떻게 삽입 할 수 있습니까? 나는. 두 번째 값. 내가 삽입하기 전에 나는 이미 buzz
의 가치 때문에 단순해야한다고 생각합니다.
대단히 감사합니다.
BEGIN
FOR i IN 1..t_in.count LOOP
insert into table2 (bar, something)
values(l_cur_id,t_in(i));
commit;
END LOOP;
이것에 :에서
변경 :
BEGIN
FOR i IN 1..t_in.count LOOP
insert into table2 (bar, something,buzz)
values(l_cur_id,t_in(i),buzz);
commit;
END LOOP;
그리 명확 : -S
게시 직후에 해결되었습니다 - 일반적인 것! 해결책을 게시 할 것입니다 ... – ale