내가 모든 형태의 인서트를 사용하여 테이블에 여러 행을 삽입하는 쿼리를 만들려고 노력하고있어이 arent 중복을 비난 실패 ORA-00001: unique constraint violated
으로 오류를 수행하십시오. 그것이 나에게주는 제약 조건 오류 코드는 기본 키에 대한 것이지만 삽입하려는 값은 기본 키와 중복되지 않습니다. 어떤 도움이라도 정말로 감사 할 것입니다. 당신이 등 고정 값 val1
, val2
을 삽입하는 경우삽입 모두
삽입 모두
답변
, 그들은 이미 테이블에 존재하는 모든 행에 대해 한 번 삽입됩니다합니다 (into
및 from
모두 참조 application
부터). 기존 기본 키와 충돌하는 값을 삽입하지 않고 동일한 새 기본 키를 여러 번 삽입하면 동일한 오류가 발생합니다.
해당 테이블이 비어 있으면 삽입 된 행이 없습니다. 하나의 행이 있다면 하나의 행이 삽입됩니다 (아마도 수동으로 키를 복제하지 않으면 올바르게 삽입 될 것입니다). 그렇지 않으면 자동으로 중복을 생성합니다. 예외를 야기한 기본 키가 없으면 이것을 실행할 때마다 테이블의 행 수가 두 배가됩니다.
당신은 실제로 삽입되는 상황을 확인하기 위해 기본 키와 더미 테이블에 그것을 시도 할 수 있습니다 : 각 into
절은 각 행에 대해 하나 개의 새로운 행을 만든 볼 수 있도록 ...
create table t42(col1 number, col2 varchar2(10));
insert into t42 values (1, 'A');
insert into t42 values (2, 'B');
insert into t42 values (3, 'C');
insert all
into t42 (col1, col2) values (4, 'D')
into t42 (col1, col2) values (5, 'E')
select * from t42;
6 rows inserted.
select * from t42;
COL1 COL2
---------- ----------
1 A
2 B
3 C
4 D
4 D
4 D
5 E
5 E
5 E
9 rows selected
을 그 미리 tablle에 존재했다. 분명히 col1
에 PK가 있다면 새 값의 중복을 삽입했을 것입니다. 당신이 다른 행, 예에 따라 행을 만드는 경우
내가 같은 테이블을 참조 할 것 생각할 수있는 유일한 시간이다 (매우 인위적인) :
insert all
into application (col1, col2, ...)
values (col1 + 100, col2 || ' adjusted', ...)
select col1, col2 from application;
당신이 값 공급 세트 당 당신에게 하나의 행을 줄 것이다 대신 이중에서 선택할 수있는 고정 된 값에 넣어하려면 :
insert all
into application (col1, col2, ...)
values (val1, val2, ...)
select * from dual;
demp 반복 위 : 물론
create table t42(col1 number, col2 varchar2(10));
insert into t42 values (1, 'A');
insert into t42 values (2, 'B');
insert into t42 values (3, 'C');
insert all
into t42 (col1, col2) values (4, 'D')
into t42 (col1, col2) values (5, 'E')
select * from dual;
2 rows inserted.
select * from t42;
COL1 COL2
---------- ----------
1 A
2 B
3 C
4 D
5 E
5 rows selected
많은 여러 into
절을하지 않는 한이의 insert all
구문을 사용하여 점, 그리고 심지어는 다음 individua이 없다 l insert
진술이 더 명확해질 수 있습니다.
정말 고마워요, 하단의 select 절이었습니다. 이중으로 변경하면 문제가 해결되었습니다. –
- 1. SimpleJdbcTemplate 모두 삽입 및 업데이트
- 2. 다중 삽입 Oracle Mybatis Spring 모두 삽입 사용
- 3. 모두 삭제하고 필요에 따라 모두 삽입하거나 업데이트, 삭제 및 삽입 하시겠습니까?
- 4. admob의 총 노출 수가 배너 광고와 삽입 광고를 모두 포함합니까?
- 5. 삽입 순서에 영향을주지 않고 LinkedHashMap에서 키와 값을 모두 수정하십시오.
- 6. 다른 SQL 테이블에 두 값을 모두 삽입 할 수 없습니다.
- 7. 는 INSERT에서 여러 값을 반환하고 삽입 모두 다른 테이블에
- 8. 상자 그림자는 동일한 div에 삽입 및 외부 모두
- 9. 저장을 오버라이드하여 CakePHP의 저장, 삽입 또는 업데이트 기능을 모두 차단합니다.
- 10. MySQL의 테이블에 다차원 배열 모두 키와 값 삽입
- 11. 모두 결과가
- 12. Footable 모두 확장 모두
- 13. 모두
- 14. 삽입
- 15. URL 경로 모두 캐치 모두
- 16. 모두 NSUserDefaults, 모두 tableview에 있음
- 17. Android 테마 모두 모두 API
- 18. 삽입
- 19. MySQL 쿼리 (선택과 삽입 삽입)
- 20. MyIsam & Innodb를 모두 사용
- 21. 모두 삽입하지 않음
- 22. joomla에서 아코디언을 삽입 한 형태로 jum에서 삽입
- 23. MySql 트리거가 실행되지 않음 (모두)
- 24. 간단한 JQuery 모두 펼치기 모두 전환 Toggle
- 25. PHP는 모두 모두 검색 모두를 반환합니다
- 26. 모두 로컬 및 네트워크 드라이브 모두 표시
- 27. JQuery와 같은 PHP로 모두 확인하십시오. 모두
- 28. datatemplate을 모두 observablecollection에 바인딩하여 모두 표시되도록하려면 어떻게해야합니까?
- 29. jqgrid checkbox 모두 선택, 모두 지우기
- 30. 페이지의 ID를 모두 선택/모두 선택 해제
'val1','val2' 등은 고정 값입니까? –