SQL Server में CHECK कंस्ट्रेंट क्या है?
SQL Server (Transact-SQL) में CHECK कंस्ट्रेंट टेबल में प्रत्येक पंक्ति के लिए शर्तों को परिभाषित करने की अनुमति देता है।
नोट:
- चेक कंस्ट्रेंट को SQL View में परिभाषित नहीं किया जा सकता।
- टेबल में चेक कंस्ट्रेंट को उस टेबल के कॉलम को संदर्भित करना चाहिए, किसी अन्य टेबल के कॉलम को संदर्भित करने में असमर्थ।
- चेक कंस्ट्रेंट सबक्वेरी का उपयोग नहीं कर सकते।
- चेक कंस्ट्रेंट को CREATE TABLE या ALTER TABLE कमांड द्वारा परिभाषित किया जा सकता है।
CREATE TABLE कमांड के साथ चेक कंस्ट्रेंट बनाएं
सिंटैक्स
CREATE TABLE table_name
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
CONSTRAINT constraint_name
CHECK [ NOT FOR REPLICATION ] (condition column_name)
);
table_name: उस टेबल का नाम जो चेक कंस्ट्रेंट बनाना चाहता है।
constraint_name: वह नाम जिसे आप चेक बाइंडिंग के लिए सेट करना चाहते हैं।
column_name: वह टेबल कॉलम जिस पर चेक कंस्ट्रेंट लागू होता है।
condition: वह शर्त जिसे पूरा करना होगा।
उदाहरण
CREATE TABLE nhanvien
(
id_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT id_nhanvien_kiemtra
CHECK (id_nhanvien BETWEEN 1 AND 10000)
);
इस उदाहरण में, CREATE TABLE स्टेटमेंट टेबल में id_nhanvien_kiemtra नाम का एक चेक कंस्ट्रेंट बनाता है। यह कंस्ट्रेंट सुनिश्चित करेगा कि id_nhanvien इनफॉर्मेशन फील्ड में 1 और 10000 के बीच का मान हो।
यह एक और उदाहरण है।
CREATE TABLE nhanvien
(
id_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT luong_kiemtra
CHECK (luong > 0)
);
यह उदाहरण टेबल में चेकसम कंस्ट्रेंट बनाता है, यह सुनिश्चित करता है कि वेतन शून्य से अधिक होगा।
ALTER TABLE कमांड के साथ चेक कंस्ट्रेंट बनाएं
सिंटैक्स
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
CHECK (condition column_name);
table_name: वह टेबल का नाम जिस पर चेक कंस्ट्रेंट जोड़ना चाहते हैं।
constraint_name: चेक बाइंडिंग के लिए सेट किया गया नाम।
column_name: टेबल में वे कॉलम जिन पर चेक कंस्ट्रेंट लागू होता है।
condition: वह शर्तें जिन्हें चेक कंस्ट्रेंट को पूरा करना होगा।
उदाहरण
यह SQL Server में चेक कंस्ट्रेंट बनाने के लिए ALTER TABLE कमांड का उपयोग करने का एक उदाहरण है।
ALTER TABLE nhanvien
ADD CONSTRAINT ho_kiemtra
CHECK (ho IN ('Smith', 'Anderson', 'Jonas'));
चेक कंस्ट्रेंट ho_kiemtra मौजूदा टेबल पर बनाया गया है, यह सुनिश्चित करता है कि कर्मचारी का उपनाम केवल Smith, Anderson या Jonas के मानों को समाहित करेगा।
चेक कंस्ट्रेंट हटाएं
सिंटैक्स
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
table_name: चेक कंस्ट्रेंट को हटाने के लिए टेबल का नाम।
constraint_name: हटाने के लिए चेक बाइंडिंग का नाम।
उदाहरण
ALTER TABLE nhanvien
DROP CONSTRAINT ho_kiemtra;
यह कमांड टेबल पर ho_kiemtra कंस्ट्रेंट को हटा देगा।
चेक बाइंडिंग सक्षम करें
सिंटैक्स
ALTER TABLE table_name
WITH CHECK CHECK CONSTRAINT constraint_name;
table_name: चेक कंस्ट्रेंट को पुनः सक्षम करने के लिए टेबल का नाम।
constraint_name: सक्रिय करने के लिए चेक कंस्ट्रेंट का नाम।
उदाहरण
ALTER TABLE nhanvien
WITH CHECK CHECK CONSTRAINT luong_kiemtra;
यह उदाहरण टेबल में टेबल पर चेक कंस्ट्रेंट को पुनः सक्रिय करता है।
चेक बाइंडिंग अक्षम करें
सिंटैक्स
ALTER TABLE table_name
NOCHECK CONSTRAINT constraint_name;
table_name: चेक कंस्ट्रेंट को अक्षम करने के लिए टेबल का नाम।
constraint_name: अक्षम करने के लिए चेक कंस्ट्रेंट का नाम।
उदाहरण
ALTER TABLE nhanvien
NOCHECK CONSTRAINT luong_kiemtra;
यह उदाहरण टेबल में luong_kiemtra पर चेक कंस्ट्रेंट को अक्षम करता है।