difference between table level constraint and column level and
advantages of table level constraint
Answer Posted / anil
ANS:
COLUMN LEVEL CONSTRAINT
If we provide constraint along with column while creating the table then it is column level constraint. For column level constraint a constraint name is not mandatory.
TABLE(ROW) LEVEL CONSTRAINT
If we provide constraint after providing all the columns then it is table level constraint.For table level constraint a constraint name is mandatory.
Advantage of table level constraint:
We can create composite PK and composite FK in table level constraints but we cant create these in column level constraints.
Example:
CREATE TABLE oracle_tab
(
ord_id NUMBER,
pid NUMBER,
qty NUMBER(2),
ord_dt DATE NOT NULL, /*column level constraint(cant be created as table level constraint)*/
price NUMBER(9,1) DEFAULT 0, /*column level constraint(cant be created as table level constraint)*/
CONSTRAINT ord_pk PRIMARY KEY(ord_id,pid), /*table level(can be created either as table level constraint or column level)*/
CONSTRAINT ord_fk FOREIGN KEY(pid) REFERENCES products(pid),/*table level(can be created either as table level constraint or column level)*/
CONSTRAINT ord_ch CHECK(qty>0) /*table level(can be created either as table level constraint or column level)*/
);
Is This Answer Correct ? | 4 Yes | 1 No |
Post New Answer View All Answers
what is the difference between ereg_replace() and eregi_replace()? : Sql dba
Where is pl sql used?
What is t sql used for?
What is the basic form of sql query?
How to convert comma separated string to array in pl/sql?
Why function is used in sql?
what is union? : Sql dba
How can one get sql*loader to commit only at the end of the load file? : aql loader
What are sql*plus environment variables?
What does inner join mean?
What is a file delimiter?
What are the main features of cursor?
What sql does db2 use?
What is procedure in pl sql?
what happens if null values are involved in expressions? : Sql dba