इस लेख में, आप सीखेंगे कि निर्दिष्ट स्थिति पर ट्रिगर को आग लगाने के लिए Oracle ट्रिगर में WHEN क्लॉज का उपयोग कैसे करें। नीचे एक उदाहरण दिया गया है।
आप निम्न तालिका बनाकर और अपने Oracle डेटाबेस स्कीमा में ट्रिगर करके इस ट्रिगर उदाहरण का परीक्षण कर सकते हैं।
टेबल बनाएं
CREATE TABLE EMP ( EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10 BYTE), JOB VARCHAR2(9 BYTE), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) ) /
WHEN क्लॉज के साथ Oracle डेटाबेस ट्रिगर बनाएं
निम्न ट्रिगर केवल तभी सक्रिय होगा जब JOB CLERK के बराबर हो , और अगर ऐसा है, तो यह COMM कॉलम (कमीशन) को 0 पर सेट कर देगा।
CREATE OR REPLACE TRIGGER emp_trig_1 BEFORE INSERT ON EMP FOR EACH ROW WHEN (NEW.job = 'CLERK') BEGIN :NEW.comm := 0; END; /
परीक्षा
ईएमपी तालिका के लिए नीचे दिए गए इंसर्ट स्टेटमेंट में 300 कमीशन के साथ क्लर्क के लिए एक रिकॉर्ड डालने का प्रयास किया जाएगा।
SET DEFINE OFF; Insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) Values (7499, 'ALLEN', 'CLERK', 7698, TO_DATE('02/20/1981 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1600, 300, 30); COMMIT;
तालिका क्वेरी करें
अब ऊपर डाले गए रिकॉर्ड के लिए EMP तालिका को क्वेरी करें, और आप पाएंगे कि COMM स्तंभ मान 0 है ।
SELECT * FROM EMP WHERE EMPNO = 7499;
यह भी देखें:
- Oracle SQL डेवलपर में ट्रिगर बनाना सीखें
- Oracle प्रपत्र उदाहरण में ट्रिगर बनाएं