एसक्यूएल चेक बाधा
एसक्यूएल चेक बाधा
बाधा का CHECK
उपयोग उस मूल्य सीमा को सीमित करने के लिए किया जाता है जिसे एक कॉलम में रखा जा सकता है।
यदि आप किसी कॉलम पर एक बाधा परिभाषित करते हैं तो CHECK
यह इस कॉलम के लिए केवल कुछ निश्चित मानों की अनुमति देगा।
यदि आप किसी तालिका पर एक बाधा को परिभाषित करते हैं तो CHECK
यह पंक्ति में अन्य स्तंभों के मानों के आधार पर कुछ स्तंभों में मानों को सीमित कर सकता है।
तालिका बनाने पर एसक्यूएल जांच
जब "व्यक्ति" तालिका बनाई जाती है, तो निम्न SQL CHECK
"आयु" कॉलम पर एक बाधा उत्पन्न करता है। बाधा यह CHECK
सुनिश्चित करती है कि किसी व्यक्ति की आयु 18 वर्ष या उससे अधिक होनी चाहिए:
माई एसक्यूएल:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
एसक्यूएल सर्वर/ओरेकल/एमएस एक्सेस:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int CHECK (Age>=18)
);
एक बाधा के नामकरण की अनुमति देने के लिए, और एक से अधिक स्तंभों पर CHECK
एक बाधा को परिभाषित करने के लिए, निम्न SQL सिंटैक्स का उपयोग करें:
CHECK
MySQL / SQL सर्वर / Oracle / MS एक्सेस:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
SQL ALTER TABLE पर जाँच करें
CHECK
जब तालिका पहले से ही बनाई गई हो, तो "आयु" कॉलम पर बाधा उत्पन्न करने के लिए, निम्न SQL का उपयोग करें:
MySQL / SQL सर्वर / Oracle / MS एक्सेस:
ALTER TABLE Persons
ADD CHECK (Age>=18);
एक बाधा के नामकरण की अनुमति देने के लिए, और एक से अधिक स्तंभों पर CHECK
एक बाधा को परिभाषित करने के लिए, निम्न SQL सिंटैक्स का उपयोग करें:
CHECK
MySQL / SQL सर्वर / Oracle / MS एक्सेस:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
एक जांच बाधा छोड़ें
CHECK
एक बाधा छोड़ने के लिए, निम्न SQL का उपयोग करें:
एसक्यूएल सर्वर/ओरेकल/एमएस एक्सेस:
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
माई एसक्यूएल:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;