|
|
Question : Scope of a constraint name? (ORA-02264: name already used by an existing constraint)
|
|
Hello experts, I would like to know the scope of constraint name. I've read the manual (https://cwisdb.cc.kuleuven.ac.be/ora10doc/server.101/b10759/clauses002.htm#g1053592) but couldnt find the needed info.
In particular, when I run the following sql: CREATE TABLE myTable02 ( ItemID1 RAW(4) NOT NULL, #more fields here# , CONSTRAINT ItemID_p_k PRIMARY KEY(ItemID1) ); an error is returned: ORA-02264: name already used by an existing constraint
Note that before running the above statement, another sql has been run successfully (only the table name is different): CREATE TABLE myTable01 ( ItemID1 RAW(4) NOT NULL, #more fields here# , CONSTRAINT ItemID_p_k PRIMARY KEY(ItemID1) );
So the question is: is the scope of the constraint name (ItemID_p_k) bound by the schema or the table? If the scope of constraint is within a table, then why do I have the error?
Thanks, Do
|
Answer : Scope of a constraint name? (ORA-02264: name already used by an existing constraint)
|
|
It is bound by the schema.
You must have different constraint names for every constraint in a schema. It is common practice to include the table name in the constraint name.
|
|
|
|
|