2012-01-18 1 views
3

: 나는 정기적 (하지 삽입 ALL로) 할 때 ... 삽입 데이터베이스 링크를 통해 작동 dblink를 통해 테이블에 INSERT ALL INSERT 가능합니까? 나는 다음과 같은 실행하면

INSERT ALL INTO [email protected]_link(columnName) VALUES (columnValue) 
SELECT columnValue FROM localTable; 

나는 오류를

SQL Error: ORA-02021: DDL operations are not allowed on a remote database 02021. 00000 - "DDL operations are not allowed on a remote database" *Cause: An attempt was made to use a DDL operation on a remote database. For example, "CREATE TABLE [email protected] ...". *Action: To alter the remote database structure, you must connect to the remote database with the appropriate privileges.

주를 얻을 수 . (보조금은 유효하다).

두 테이블 모두에 트리거가 없습니다.

그리고 여러 테이블에 삽입 할 수 있도록 INSERT ALL INTO가 명시 적으로 필요합니다.

INSERT ALL INTO 작업은 데이터베이스 링크 테이블에 허용되지 않습니까?

답변

5

이 메시지는 약간 오해의 소지가 있지만, 어쨌든 확실히 잘못된 the Oracle SQL Reference

You cannot perform a multitable insert into a remote table.

+0

네 ...에 따라. – vicsz

1

Are INSERT ALL INTO operations not allowed into database link tables?

불행히도. 이 목록의 두 번째 항목을 참고 :

Restrictions on Multitable Inserts

You can perform multitable inserts only on tables, not on views or materialized views.

You cannot perform a multitable insert into a remote table.

You cannot specify a table collection expression when performing a multitable insert.

In a multitable insert, all of the insert_into_clauses cannot combine to specify more than 999 target columns.

Multitable inserts are not parallelized in a Real Application Clusters environment, or if any target table is index organized, or if any target table has a bitmap index defined on it.

Plan stability is not supported for multitable insert statements.

The subquery of the multitable insert statement cannot use a sequence.

출처 : Oracle 9i documentation