Oracle 여러 데이터 동시 삽입

1745 단어 orcale
1. 홈 키 를 수 동 으로 추가:
insert all  
		into tableName (id, name, age) values ( 1, 'name1', 20)
  		into tableName (id, name, age) values ( 2, 'name2', 21)
		into tableName (id, name, age) values ( 3, 'name3', 18)
select 1 from dual

끝 에 'select 1 from dual' 이 빠 질 수 없습니다.
2. 시퀀스 와 트리거 를 통 해 메 인 키 를 추가 합 니 다: 1), 생 성 표:
create table tableName(
		id Number(10) not null,
		name Varchar2(200),
		age Number(14,2),
		constraint pk_tableName_id PRIMARY KEY (id) ---   
)

2) 、 생 성 시퀀스:
create sequence seq_tableName 
			start with 1     -----    
			maxvalue 99999999999   -----   
			increment by 1;   -------       

3) 、 트리거 생 성:
create or replace trigger tr_tableName
before insert on tableName
for each row    ----             
begin
  select seq_tableName.nextval into :new.id from dual;
end;

seq_tableName 은 시퀀스 이 고 id 는 tableName 의 메 인 키 id 입 니 다.
4) 여러 개의 데 이 터 를 동시에 삽입 하고 홈 키 는 스스로 생 성 합 니 다.
insert all  
		into tableName (name, age) values ( 'name1', 20)
  		into tableName (name, age) values ( 'name2', 21)
		into tableName (name, age) values ( 'name3', 18)
select 1 from dual

5) 、 MyBatis 에서 사용:

    insert all
    
        into t_relation_party(
        		name,
        		age) 
        values(
        		#{entity.name},
        		#{entity.age})
    
    select 1 from dual


insert all 구문 에 서 는 seq 를 직접 사용 할 수 없습니다.test_insert. nextval, into 문구 마다 seq 를 붙 여도test_insert. nextval 도 여러 값 을 얻 지 못 합 니 다.

좋은 웹페이지 즐겨찾기