difference between table level constraint and column level and
advantages of table level constraint
Answers were Sorted based on User's Feedback
Answer / santosh kumar
Let me explain both sides of the coin bit more clearly.
Table level Constraint
===========================
1. Constraints are defined separately after the columns are defined.
2. While defining constraints at this level constraint name must be provided
3. Not null constraints can't be defined at this level.
4. Composite keys can be defined at this level only.
A table level constraint can see every column in the table.
Column level Constraint
===========================
1. Constraints are defined along with the columns.
2. So constraint name is not required.
3. Not null constraints can be defined at this level only(NOT NULL constraint can only apply to one column).
4. Composite keys can't be defined at this level .
5. Column level constraint is more clear syntactically and more meaningful.
A column level constraint has scope only to the column it is defined on.
The major difference between the two constraint is the scope. So far as the use of constraints (validating proper data) is concerned they are pretty much the same.
Any column level constraint (exception: not null) can be expressed at the table level - but the opposite is not true.
Go for a column level constraint if the constraint is in fact a column constraint else use a table constraint.
It is recommended to always use a column constraint if the constraint applies just to the column (and NOT a table constraint if it only applies to a single column) - you can only do it at the column level.
| Is This Answer Correct ? | 6 Yes | 0 No |
Answer / 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 |
Answer / selvi
Column level constraint can not refer other columns or sysdate, UID, currVal, nextVal or rownum, and this is limitation of column level constraint over table level constraint.
| Is This Answer Correct ? | 1 Yes | 2 No |
Answer / sravya
column level contains only one column whereas tablelevel contains group of columns
| Is This Answer Correct ? | 0 Yes | 1 No |
How many subqueries can be nested in a statement?
how can you see all indexes defined for a table? : Sql dba
how to Update table Sales_summary with max(sales) data from table sales_dataTable 1. sales_data table Table 2. Sales_summary Region sales Region sales N 500 N 0 N 800 W 0 N 600 W 899 W 458 W 900 I want the Sales_summary After Update like this Region Sales N 800 W 900
Can we insert delete data in view?
Can we debug stored procedure?
What are its different types of dbms?
what is an execution plan? When would you use it? How would you view the execution plan? : Sql dba
Is it possible to use LONG columns in WHERE clause or ORDER BY?
What is a 'instead of trigger'?
Table A Table B 1 1 2 1 3 1. Union & union all --> A Union B , A Union all B 2. Minus , Intersect --> A minus B , B Minus A , A Intersect B 3. Joins A join B , A Left Join B A Right Join B , A full Join B 4. %Type - Uses & Benifit 5. Truncate & Delete 6. Pragma Autonomus Transaction 7. how to Perform DDL from function or procedure 8. Can we have DML inside Function 9. Rank & Dense Rank diffrence 10. Water Mark in Oracle 11. Index , Can we have index in all column of table if no then why ?
How we can create a table in pl/sql block. Insert records into it? Is it possible by some procedure or function? Please give example?
Explian rowid, rownum? What are the psoducolumns we have?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)