Stored Procedures
In this page:
DELIMITER //
CREATE PROCEDURE procedure_name()
BEGIN
-- SQL statements
END //
DELIMITER ;
CALL procedure_name();
Stored Procedures का Introduction
एक stored procedure SQL statements के एक group को साथ bundle करता है और उन्हें database के अंदर एक नाम के तहत save करता है, ताकि उस पूरी sequence को हर बार application से दोबारा type या resend किए बिना demand पर फिर से चलाया जा सके।
उदाहरण: Introduction to Stored Procedures
DELIMITER //
CREATE PROCEDURE GetAllUsers()
BEGIN
SELECT * FROM users;
END //
DELIMITER ;
एक Stored Procedure Call करना
एक बार defined होने पर, एक stored procedure को CALL statement से execute किया जाता है, जो इसके अंदर saved हर query को work की एक single unit की तरह order में चलाने के लिए trigger करता है।
उदाहरण: Calling a Stored Procedure
CALL GetAllUsers();
एक Stored Procedure Drop करना
DROP PROCEDURE permanently एक saved procedure हटाता है। statement में IF EXISTS add करना एक error रोकता है अगर procedure पहले से delete हो चुका था या पहली जगह कभी exist ही नहीं करता था।
उदाहरण: Dropping a Stored Procedure
DROP PROCEDURE IF EXISTS GetAllUsers;
Stored Procedures List करना
आप किसी database में currently defined हर stored procedure list कर सकते हैं, जो नई, शायद duplicate, procedures लिखने से पहले यह फिर से discover करने का एक उपयोगी तरीका है कि कौन सा reusable logic पहले से available है।
उदाहरण: Listing Stored Procedures
SHOW PROCEDURE STATUS WHERE Db = DATABASE();
Stored Procedures के Benefits
Stored procedures network पर आगे-पीछे भेजे गए data की मात्रा कम करते हैं क्योंकि सिर्फ CALL और इसके arguments travel करते हैं, और वे table structure details को एक fixed interface के पीछे छुपाकर एक security layer add करते हैं।
उदाहरण: Benefits of Stored Procedures
-- One CALL travels over the network instead of several separate queries,
-- and the caller never needs to know the underlying table structure.
CALL GetAllUsers();
DELIMITER //भूल जाना, ताकि MySQL body के अंदर पहले;पर statement खत्म कर दे और एक syntax error दे।- बाद में
DELIMITER ;से वापस switch करना भूल जाना, ताकि normal statements न चलें। CALL GetAllUsers()के बजायSELECT GetAllUsers()से एक procedure call करना।
Chapter Quiz — Complete all 5 topics to unlock
0/5 topics done
Complete these topics first: