इस पोस्ट में, हम ट्रिगर (Trigger) और प्रक्रिया (Procedure) के बीच अंतर को समझेंगे।
ट्रिगर (Triggers)
यह एक डेटाबेस की टेबल में INSERT, DELETE, और UPDATE जैसी घटना होने पर अंतर्निहित रूप से (implicitly) आमंत्रित होता है।
ट्रिगर का नेस्टिंग (Nesting) एक टेबल का उपयोग करके प्राप्त किया जा सकता है।
एक ट्रिगर को दूसरे ट्रिगर के अंदर बुलाया या परिभाषित नहीं किया जा सकता।
'COMMIT', 'ROLLBACK', 'SAVEPOINT' जैसे लेनदेन संबंधी विवरण (Transactional statements) ट्रिगर्स में उपयोग नहीं किए जा सकते।
इनका उपयोग संदर्भात्मक अखंडता (referential integrity) बनाए रखने के लिए किया जाता है।
यह टेबल पर की गई गतिविधियों का रिकॉर्ड रखकर किया जाता है।
ट्रिगर में कोई मान वापस नहीं किया जाता।
कोई मान पैरामीटर के रूप में ट्रिगर को पास नहीं किया जा सकता।
ट्रिगर को परिभाषित करने का सिंटैक्स:
CREATE TRIGGER trigger_name
प्रक्रियाएं (Procedures)
इसे 'exec', 'EXECUTE', या 'procedure_name' जैसे स्टेटमेंट का उपयोग करके उपयोगकर्ता या एप्लिकेशन द्वारा स्पष्ट रूप से (explicitly) बुलाया जाता है।
इसे दूसरी प्रक्रिया के अंदर बुलाया और परिभाषित किया जा सकता है।
'COMMIT', 'ROLLBACK', 'SAVEPOINT' जैसे लेनदेन संबंधी विवरण प्रक्रियाओं में उपयोग किए जा सकते हैं।
प्रक्रियाओं का उपयोग उपयोगकर्ताओं द्वारा निर्दिष्ट कार्यों को करने के लिए किया जाता है।
मान पैरामीटर के रूप में प्रक्रिया को पास किए जा सकते हैं।
यह 0 और 'n' के बीच कोई भी मान वापस कर सकता है।
प्रक्रिया को परिभाषित करने का सिंटैक्स:
CREATE PROCEDURE procedure_name