truncate table时发生ORA-02266错误
SQL> conn johnny/johnny
Connected.
SQL> truncate table claims;
truncate table claims
*
ERROR at line 1:
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
SQL> conn johnny/johnny
Connected.
SQL> truncate table claims;
truncate table claims
*
ERROR at line 1:
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
SQL> !oerr ora 2266
02266, 00000, "unique/primary keys in table referenced by enabled foreign keys"
// *Cause: An attempt was made to truncate a table with unique or
// primary keys referenced by foreign keys enabled in another table.
// Other operations not allowed are dropping/truncating a partition of a
// partitioned table or an ALTER TABLE EXCHANGE PARTITION.
// *Action: Before performing the above operations the table, disable the
// foreign key constraints in other tables. You can see what
// constraints are referencing a table by issuing the following
// command:
// SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = "tabnam";
02266, 00000, "unique/primary keys in table referenced by enabled foreign keys"
// *Cause: An attempt was made to truncate a table with unique or
// primary keys referenced by foreign keys enabled in another table.
// Other operations not allowed are dropping/truncating a partition of a
// partitioned table or an ALTER TABLE EXCHANGE PARTITION.
// *Action: Before performing the above operations the table, disable the
// foreign key constraints in other tables. You can see what
// constraints are referencing a table by issuing the following
// command:
// SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = "tabnam";
SQL> select constraint_name,constraint_type,status from user_constraints where table_name='CLAIMS';
CONSTRAINT_NAME C STATUS
------------------------------ - --------
SYS_C0052660 C ENABLED
SYS_C0052661 C ENABLED
CLAIMS_PK P DISABLED
SQL> alter table claims disable primary key cascade;
------------------------------ - --------
SYS_C0052660 C ENABLED
SYS_C0052661 C ENABLED
CLAIMS_PK P DISABLED
SQL> alter table claims disable primary key cascade;
Table altered.
SQL> truncate table claims;
Table truncated.
SQL> alter table claims enable primary key;
Table altered.
SQL> select constraint_name,constraint_type,status from user_constraints where table_name='CLAIMS';
SQL> select constraint_name,constraint_type,status from user_constraints where table_name='CLAIMS';
CONSTRAINT_NAME C STATUS
------------------------------ - --------
SYS_C0052660 C ENABLED
SYS_C0052661 C ENABLED
CLAIMS_PK P ENABLED
------------------------------ - --------
SYS_C0052660 C ENABLED
SYS_C0052661 C ENABLED
CLAIMS_PK P ENABLED
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23891491/viewspace-746557/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23891491/viewspace-746557/