आप STORED PROCEDURE
. का उपयोग कर सकते हैं इस पर आप आवेदन स्तर से केवल एक बार कॉल करेंगे। उदाहरण,
DELIMITER $$
CREATE PROCEDURE InsertBook
(
IN _Title INT,
IN _AwardName VARCHAR(35),
IN _Year INT
)
BEGIN
INSERT INTO Books (Title)
VALUES(_Title);
-- since the ID is set as AUTO_INCREMENT
-- there are two ways to do how you can get the ID
-- from the Books Table and insert it
-- on BookAwards
-- FIRST WAY
-- by using LAST_INSERT_ID()
SET @last_ID = LAST_INSERT_ID();
-- SECOND WAY
-- by using MAX()
-- SET @last_ID = (SELECT MAX(ID) FROM Books);
INSERT INTO BookAwards(ID, AwardName, Year)
VALUES (@last_ID, _AwardName, _Year);
END $$
DELIMITER ;
और आवेदन स्तर पर या किसी भी स्रोत पर जिसे आप इस प्रक्रिया को कॉल करना चाहते हैं,
CALL InsertBook('Lost Art', 'Best in Churva', 2013);
सुरक्षा उद्देश्यों के लिए, आप अभी भी प्रक्रिया को मानकीकृत कर सकते हैं, उदाहरण के लिए
CALL InsertBook(?, ?, ?);