SQL (এসকিউএল) CHECK Constraint (কনস্স্ট্রেইন্ট)
Article By: Protap Chandra
CHECK constraint ব্যবহার করা হয় একটি কলামে কোন ধরনের বা কোন ডাটা ইনপুট দেয়া যাবে তার উপর নজর রাখার জন্য। যদি একটি কলামে CHECK constraint বেধে দেয়া হয় তবে সেই কলামে কেবলমাত্র ওইজাতীয় ডাটাই ইনপুট দেয়া সম্ভব হবে।
CREATE TABLE স্টেটমেন্টের সাথে CHECK Constraint প্রয়োগ:
নিচের এসকিউএল স্টেটমেন্টটি "Persons" টেবিলটি তৈরী করার সময় "P_Id" কলামে একটি CHECK constraint যুক্ত করবে। এই constraint এর কাজ হবে "P_Id" কলামে যেন কেবল পূর্ণসংখ্যা (integer) প্রবেশ করানো হয় এবং তার মান হবে শুন্যের চেয়ে বড়, সেদিকে নজর রাখা।
MySQL এর ক্ষেত্রে:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)
SQL Server / Oracle / MS Access এর ক্ষেত্রে:
CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
একাধিক কলামে CHECK constraint যুক্ত করতে নিচের SQL স্টেটমেন্টের syntax বা গঠনরীতি হবে নিম্নরূপ:
MySQL / SQL Server / Oracle / MS Access এর বেলায় প্রযোজ্য:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)
ALTER TABLE স্টেটমেন্টের মাধ্যমে CHECK Constraint যুক্ত করা:
ধরা যাক Persons টেবিলটি আগেই তৈরী হয়ে গেছে। তৈরীর সময় এতে CHECK constraint দেয়া হয়নি। এখন সেই কাজটি করতে হবে। "P_Id" কলামে CHECK constraint যুক্ত করতে নিচের SQL স্টেটমেন্টটি ব্যবহার করতে হবে।
MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে প্রযোজ্য:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
টেবিল তৈরী করার পর একাধিক কলামে CHECK constraint যুক্ত করতে গেলে এসকিউএল স্টেটমেন্টের গঠনরীতি হবে নিম্নরূপ:
MySQL / SQL Server / Oracle / MS Access এর ক্ষেত্রে প্রযোজ্য:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
CHECK Constraint মুছে ফেলা:
CHECK constraint মুছে ফেলতে চাইলে নিচের SQL স্টেটমেন্ট ব্যবহার করতে হবে:
SQL Server / Oracle / MS Access এর ক্ষেত্রে প্রযোজ্য:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL এর ক্ষেত্রে:
ALTER TABLE Persons
DROP CHECK chk_Person