आपके पास जन्म तिथि है। इसलिए आपको यह निर्धारित करने की आवश्यकता है कि जन्मतिथि आज से कम से कम सोलह वर्ष पहले की है। ऐसा करने के कई अलग-अलग तरीके हैं; यहाँ एक अंतराल शाब्दिक का उपयोग कर रहा है।
create or replace trigger students_biur
before insert or update on students for each row
begin
if (:new.student_birthdate + INTERVAL '15' YEAR ) < sysdate
then
raise_application_error( -20000, 'This student is too young be registered.');
end if;
end;
यह ट्रिगर अद्यतनों की भी जाँच करता है, ताकि बाद में होने वाले परिवर्तनों को एक छात्र को अमान्य करने से रोका जा सके।
ट्रिगर नाम students_biur
केवल एक सम्मेलन है जिसका मैं उपयोग करता हूं:प्रत्यय के साथ तालिका का नाम *B* से पहले *I*nsert *U*pdate प्रत्येक *R*ow के लिए इंगित करता है।
RAISE_APPLICATION_ERROR एक संदेश के साथ उपयोगकर्ता-परिभाषित अपवादों को फेंकने के लिए एक मानक प्रक्रिया है। और अधिक जानकारी प्राप्त करें।
Oracle उपयोगकर्ता-परिभाषित त्रुटियों के लिए -20999 से -20000 की सीमा सुरक्षित रखता है; कोई अन्य संख्या ऑरैकल-परिभाषित अपवाद से टकरा सकती है।