को रोकता है I एक स्कूल का प्रतिनिधित्व करने वाले स्क्लाइट डेटाबेस के लिए ट्रिगर करने का प्रयास कर रहा हूं। मेरे पास इस स्कीमा के साथ प्रशासक नामक एक टेबल है:एसक्लाइट डेटाबेस के लिए ट्रिगर बनाएं जो
CREATE TABLE Administrators(
ssn INT CHECK(ssn > 100000000),
lName CHAR(20),
fName CHAR(10),
gender CHAR(1) CHECK(gender IN('F','M')),
dob DATE,
address CHAR(100),
phone INT CHECK(phone > 1000000000),
role CHAR(20) CHECK(role IN('Principal','Vice Principal','Dean')),
PRIMARY KEY(ssn)
);
मैं यह सुनिश्चित करना चाहता हूं कि केवल एक प्रिंसिपल है। मैंने जो कुछ भी सोच सकता हूं उसकी कोशिश की है और मुझे ट्रिगर में विभिन्न स्थानों पर त्रुटियां मिल रही हैं। आखिरी बार मैंने कोशिश की है कि "आईएफ"
sqlite> CREATE TRIGGER onePres
...> BEFORE INSERT ON Administrators
...> BEGIN
...> IF (EXISTS (SELECT * FROM Administration WHERE role = 'Principal'))
...> BEGIN
...> ROLLBACK TRANSACTION;
...> RETURN
...> END;
...> END;
क्या कोई मुझे यह जानने में मदद कर सकता है कि मैं क्या गलत कर रहा हूं? धन्यवाद!
एसएसएन और फोन नंबरों के पास कोई संख्यात्मक मूल्य नहीं है; स्ट्रिंग का प्रयोग करें। –