Skip to main content

A little bit about Integrity Constraints (Advance SQL)

I've been asked today by one of my younger brother that "How can we create a table using SQL command in Oracle 10g  such that a column must accept those values that start with a specific character e.g. A."
Then I replied him to use Integrity Constraints. Since he was not familiar about  Integrity Constraints  hence he wanted to get the complete solution of his real problem.
His Problem statement was:

"Create cust table which contains cno having pk(primary key),cname and occupation where data values inserted for cno must start with the capital letter C and cname should be in uppercase."

Integrity Constraints are those which ensure that all the changes made to the Database by authorized users don't result in a loss of data consistency.
A list of Integrity Constraints are given below
  • Primary Key
  • Foreign Key
  • Unique 
  • Check
  • Not Null
We will use Check  Integrity Constraint to solve the problem.
Syntax:
column_name data_type(size) CHECK(logical expression)



However the entire solution of the problem is given below:
In Oracle DBMS's SQL command shell you have to write:
 SQL>
CREATE TABLE cust(cno varchar2(10), cname varchar2(25),occupation varchar2(30),
CHECK(cno like 'C%'),
CHECK(cname=upper(cname)),
CONSTRAINT pk PRIMARY KEY(cno));
And in MySQL DBMS's SQL command shell you have to write: 
  SQL>
 CREATE TABLE cust(
cno nvarchar( 10 ) ,
cname nvarchar( 25 ) ,
occupation nvarchar( 30 ) ,
CHECK (
cno LIKE 'C%'
),
CHECK (
cname = upper( cname )
),
CONSTRAINT pk PRIMARY KEY ( cno )
);
Hope it will help others( SQL beginners) as well.This is my first article about SQL.    
 

Comments

Popular posts from this blog

Cannot access a disposed object. A common cause of this error is disposing a context that was

  Cannot access a disposed object. A common cause of this error is disposing a context that was resolved from dependency injection and then later trying to use the same context instance elsewhere in your application. This may occur if you are calling Dispose() on the context, or wrapping the context in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances. Object name: 'PropertyContext'.  public class CustomerHub : Hub     {         public readonly ICustomerService _customerService;         private readonly IServiceScopeFactory _serviceScopeFactory;         public CustomerHub(ICustomerService service, IServiceScopeFactory serviceScopeFactory)         {             _customerService = service;             _serviceScopeFactory = serviceSco...

Limit Upload File Type Extensions ASP.NET MVC 5

  //-----------------------------------------------------------------------    // <copyright file="AllowExtensionsAttribute.cs" company="None">    //     Copyright (c) Allow to distribute this code and utilize this code for personal or commercial purpose.    // </copyright>    // <author>Asma Khalid</author>    //-----------------------------------------------------------------------       namespace  ImgExtLimit.Helper_Code.Common   {        using  System;        using  System.Collections.Generic;        using  System.ComponentModel.DataAnnotations;        using  System.Linq;      ...