हेलो दोस्तों आज के इस ब्लॉग पोस्ट(Trigger In MySql In Hindi) में हम आपको MYSQL triggers के बारे में जानकारी देने वाले है |
MYSQL में trigger(Trigger In MySql In Hindi) जो होता है वो एक stored program होता है जो कि किसी विशेष इवेंट्स पर invoke अथवा execute होता है|
जैसे कि किसी टेबल पर INSERT , DELETE , UPDATE ऑपरेशन होने पर|Trigger In MySql In Hindi|
जैसे example के लिए आप किसी टेबल पर एक trigger ऐसा सेट कर सकते हो जो कि टेबल में कोई भी नयी row INSERT होने के टाइम पर trigger होगा|Trigger In MySql In Hindi|
MYSQL trigers को सपोर्ट करता है जो कि INSERT , UPDATE , DELETE इवेंट्स के होने पर execute होते है |
SQL standard दो तरह के trigers को define करता है | एक होते है row level trigers and दूसरे होते है statement -level trigers |
जो row level trigers होते है वो तभी activated होते है जब किसी table की प्रत्येक row INSERT , UPDATE , अथवा DELETE होती है |
जैसे example के लिए किसी टेबल में अगर 50 row inserted , updated , अथवा deleted होती है|
तो ट्रिगर जो है वो ऑटोमेटिकली 50 बार invoked होगा अथवा execute होगा|
और जो statement level ट्रिगर्स होते है वो केवल एक transaction के complete होने पर invoked अथवा execute होते है|
फिर चाहे उस transaction के अंदर कितनी भी row INSERT , UPDATE , DELETE हो |
MYSQL जो है वो row -level trigers को सपोर्ट करता है जबकि यह statement लेवल trigger को सपोर्ट नहीं करता है |
Advantages of triggers:
trigers जो है वो हमें data integrity चेक करने का एक और रास्ता प्रोवाइड करते है |
trigers जो है वो database layer से error को handle करते है |
trigers जो है वो scheduled task को रन करने के एक alernate वे प्रोवाइड करते है |
क्योकि अगर आप trigers का use करते है तो आपको किसी भी scheduled task अथवा event के run होने का इंतज़ार नहीं करना पड़ता है |
Triggers events के होने पर automatically execute होकर अपना काम करता है |
trigers से हम डाटा टेबल में होने वाले चंगेस को आसानी से audit कर सकते है |
Disadvantages of triggers :
trigers जो है वो extended validation प्रोवाइड कर सकते है जबकि सभी तरह validation नहीं |
पर आप simple validation के लिए कुछ और constraints का उपयोग कर सकते है|
जैसे कि NOT NULL , UNIQUE , CHECK और FOREIGN KEY |
trigers को troubleshoot करना थोड़ा difficult हो सकता है क्योक वो डेटाबेस पर automatically execute होते है |
और यह क्लाइंट application को visible नहीं हो सकते है |
trigers जो है वो MYSQL server का overhead बढ़ा सकते है |
Triggers Example:
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE| DELETE }
ON table_name FOR EACH ROW
trigger_body;
CREATE TABLE employees_audit (
id INT AUTO_INCREMENT PRIMARY KEY,
employeeNumber INT NOT NULL,
lastname VARCHAR(50) NOT NULL,
changedat DATETIME DEFAULT NULL,
action VARCHAR(50) DEFAULT NULL
);
CREATE TRIGGER before_employee_update
BEFORE UPDATE ON employees
FOR EACH ROW
INSERT INTO employees_audit
SET action = 'update',
employeeNumber = OLD.employeeNumber,
lastname = OLD.lastname,
changedat = NOW();
इस trigger से यह होगा की अगर कोई भी employees table में कुछ भी update करेंगे|
तो employees table में अपडेट होने से पहले वह employee _audit table में update होगा |
You can also go through below blog links below related to DBMS:
MS Access Database In Hindi…
What Is Normalization In Dbms In Hindi…
What is referential integrity in DBMS in Hindi…
Trigger In MySql In Hindi…
MYSQL Function In Hindi…
Stored Procedure In MySql In Hindi…
MYSQL Numeric Data Type In Hindi…
String Data Type In Mysql In Hindi…
Difference between char and varchar in Hindi…
MYSQL Introduction In Hindi…
Quick Q&A:
When to use MySQL trigger? हम MySQL में Trigger का उपयोग कब करते है?
MySQL के अंदर Trigger जो है वो एक database object होता है जो की database table से associate होता है |
और यह Trigger तब activate होता है जब database टेबल पर कोई एक्शन परफॉर्म होता है जैसे कि insert , update , और delete |
Trigger या तो action perform होने के पहले और बाद दोनों समय execute हो सकते है |
यह Trigger code पर depend करता है कि उसे कब execute होने के लिए लिखा गया है|
Where are triggers in MySQL? MYSQL के अंदर Triggers क्या होते है?
Triggers जो है वो sql statement ही होते है जिनसे कुछ operation परफॉर्म होता है|
यह Triggers सिस्टम catalog में reside करते है|
यह एक तरह से special टाइप के stored procedure ही होते है जो कि automatically invoked होते है|
डेटाबेस टेबल में कोई event होने के बाद अथवा पहले|
प्रत्येक Trigger जो है वो एक database table से associated होता है|
और किसी भी DML ऑपरेशन पर यह activate होता है जैसे कि insert , update , और delete |
What is the syntax of the trigger? MYSQL Triggers का syntax कैसा होता है?
CREATE [OR REPLACE ] TRIGGER trigger_name. {BEFORE | AFTER | INSTEAD OF } {INSERT [OR] | UPDATE [OR] | DELETE} [OF col_name]
What is the purpose of SQL trigger? SQL Triggers का उद्देश्य क्या होता है?
SQL Triggers की मदद से आप कोई भी SQL action परफॉर्म कर सकते है|
जब भी डेटाबेस टेबल पर कोई इवेंट परफॉर्म होता है तब|
जैसे कि example के लिए: मान लीजिये आप के पास database में दो tables है|
और आप को करना कुछ ऐसा है कि जब एक टेबल में कोई रिकॉर्ड इन्सर्ट हो तो दूसरी टेबल का corresponding रिकॉर्ड अपने आप update हो जाये|
यह करने के लिए आप पहली वाली टेबल पर एक Trigger apply कर सकते है और इस काम को automatically कर सकते है |
Trigger की मदद से हम आसानी से database की consistency को बनाये रख सकते है|
What are the advantages of MySQL triggers? MYSQL Triggers के क्या क्या advantages होते है?
MYSQL Triggers के कुछ खास advantages निम्नलिखित है:
Triggers जो है वो Data alterations को automate करने में मदद करता है|
Triggers जो है वो SQL query reuse के लिए allow करता है जो हम एक बार लिख देते है |
Database की डाटा इंटीग्रिटी चेक करने के लिए method प्रोवाइड करता है |
Database लेवल पर error पता करने में मदद करता है |
इसकी मदद से डाटा ऑडिटिंग बड़े ही आसानी से कर सकते है |
What are the limitations of triggers? Triggers की क्या क्या limitations होती है?
Triggers की कुछ मुख्य limitations निम्नलिखित है:
triggers जो है वो डेटाबेस में हर एक टेबल पर ऑपरेट नहीं हो सकता है|
जैसे कि Information _schema अथवा performance schema डेटाबेस|
trigers जो है वो resultset return नहीं कर सकते|
trigers में return statement permitted नहीं है |
चूकी triggers जो है वो कोई भी value return नहीं करते है इसलिए triggers में एग्जिट करने के लिए हम LEAVE कीवर्ड का उपयोग करते है |
Are SQL triggers important? क्या SQL trigers important होते है?
देखिये, triggers का मुख्य कार्य जो है वो यह है कि डेटाबेस टेबल पर कोई DML event perform…
…होने के बाद यह automatically अपने SQL कोड को execute करता है |
इसलिए अगर आप यह चाहते है कि किसी table पर कोई इवेंट होने के बाद कोई…
…specific action परफॉर्म हमेशा परफॉर्म हो तो फिर इसके लिए सबसे बेस्ट option होता है trigers का उपयोग करना|
Do triggers slow down the database? क्या triggers जो है वो Database को slowdown कर देते है?
हाँ, यह बात काफी हद तक सही है, पर यह इस बात पर भी निर्भर करता है|
कि आप triggers को किसी डेटाबेस के ऊपर किस तरह से उपयोग कर रहे है |
वैसे तो आपको हमेशा इस तरह से triggers के code को लिखना चाहिए कि उसका execution time कम से कम हो |
इससे जो टाइम बचता है वो टाइम में दूसरे triggers अथवा clients Database को access कर सकते है |
और हमें हमेशा Database में कम से कम triggers use करने चाहिए|
क्योकि ज्यादा triggers actions होने से Database के और operations में बाधा आती है और Database slow down होने लगता है |
Can we use multiple triggers in SQL? क्या हम SQL में कई सारे triggers use कर सकते है?
हाँ, बिलकुल SQL server जो है वो आपको multiple triggers use करने के लिए allow करता है |
आप एक टेबल पर एक ही event के लिए कई सारे triggers set कर सकते है|
और इसके के लिए कोई execution order भी डिफाइंड नहीं होता है |
हम triggers का आर्डर या तो first या फिर last सेट कर सकते है sp _settriggerorder की मदद से|
एक टेबल में प्रत्येक SQL statement के लिए केवल एक first और एक last ट्रिगर हो सकता है |
What are the disadvantages of database triggers? Database triggers की disadvantages क्या क्या है?
triggers जो है वो DML statements पर overhead बढ़ता है |
अगर कई सारे nested trigers होते है तो फिर कोड को debug और troubleshoot करना बड़ा कठिन हो जाता है|
और इस सब से development time और resources दोनों ही consume होते है |
What are 3 types of SQL triggers? SQL में triggers के प्रकार कौन कौन से होते है?
SQL server के अंतर्गत हम चार तरह से triggers create कर सकते है:
DDL triggers(Data definition language)
DML triggers(Data manipulation)
CLR triggers
Logon triggers
इस ब्लॉग(Trigger In MySql In Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते support@a5theory.comपर ईमेल लिख सकते है|
आशा करता हूँ, कि आपने इस पोस्ट(Trigger In MySql In Hindi) को खूब एन्जॉय किया होगा|
आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|Trigger In MySql In Hindi|
आपका समय शुभ हो|