पैरामीटरयुक्त स्टोर्ड प्रोसीजर बनाकर डेटा डालना
MySQL में CREATE PROCEDURE से स्टोर्ड प्रोसीजर परिभाषित करें, जिसमें IN पैरामीटर लेकर INSERT निष्पादित किया जाता है।
टेबल बनाना
CREATE TABLE insertDataUsingStoredProcedure (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20),
Age INT
);
स्टोर्ड प्रोसीजर बनाना
DELIMITER //
CREATE PROCEDURE StoredProcedureInsertData (
IN StudentName VARCHAR(100),
IN StudentAge INT
)
BEGIN
INSERT INTO insertDataUsingStoredProcedure (Name, Age)
VALUES (StudentName, StudentAge);
END //
DELIMITER ;
प्रोसीजर कॉल करना
CALL StoredProcedureInsertData('Chris', 24);
सत्यापन
SELECT * FROM insertDataUsingStoredProcedure;
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Chris | 24 | +----+-------+------+
महत्वपूर्ण बिंदु
DELIMITER //...DELIMITER ;से सेमीकॉलन को प्रोसीजर बॉडी में उपयोग करने की अनुमति मिलती है।INपैरामीटर डिफ़ॉल्ट है;OUT,INOUTभी उपलब्ध।- प्रोसीजर नाम केस-इनसेंसिटिव है (विंडोज पर) लेकिन केस-सेंसिटिव हो सकता है (लिनक्स पर) — सुसंगत केस उपयोग करें।
DROP PROCEDURE IF EXISTS nameसे पहले ड्रॉप करें यदि पुनः परिभाषित कर रहे हैं।
वैकल्पिक: फंक्शन (RETURN मान के साथ)
CREATE FUNCTION InsertAndReturnId (p_name VARCHAR(20), p_age INT)
RETURNS INT
DETERMINISTIC
BEGIN
INSERT INTO insertDataUsingStoredProcedure (Name, Age) VALUES (p_name, p_age);
RETURN LAST_INSERT_ID();
END;
फंक्शन को SELECT InsertAndReturnId('Bob', 30); से कॉल करें।