MySQL-এ স্টোরড প্রসিডিউর তৈরি করে প্যারামিটার গ্রহণ করে নির্দিষ্ট শর্তে রেকর্ড আপডেট করা যায়। এটি পুনরাবৃত্ত কাজের জন্য উপযোগী।
টেবিল এবং ডেটা
CREATE TABLE DemoTable (
Id INT,
FirstName VARCHAR(20),
LastName VARCHAR(20)
);
INSERT INTO DemoTable VALUES(101,'David','Brown');
INSERT INTO DemoTable VALUES(102,'Chris','Brown');
INSERT INTO DemoTable VALUES(103,'John','Doe');
স্টোরড প্রসিডিউর: Id=101 আপডেট
DELIMITER //
CREATE PROCEDURE update_sp(IN fName VARCHAR(20), IN lName VARCHAR(20))
BEGIN
UPDATE DemoTable
SET FirstName = fName,
LastName = lName
WHERE Id = 101;
END //
DELIMITER ;
কল করুন
CALL update_sp('Adam', 'Smith');
ফলাফল
+------+-----------+----------+
| Id | FirstName | LastName |
+------+-----------+----------+
| 101 | Adam | Smith |
| 102 | Chris | Brown |
| 103 | John | Doe |
+------+-----------+----------+
ব্যাখ্যা
IN fName, lName— ইনপুট প্যারামিটারWHERE Id = 101— হার্ডকোডেড শর্ত (ডাইনামিক করতে প্যারামিটার যোগ করুন)DELIMITER // ... // DELIMITER ;— প্রসিডিউর বডি র্যাপার
উন্নত সংস্করণ: ডাইনামিক Id
CREATE PROCEDURE update_sp2(IN pId INT, IN fName VARCHAR(20), IN lName VARCHAR(20))
BEGIN
UPDATE DemoTable
SET FirstName = fName, LastName = lName
WHERE Id = pId;
END
সতর্কতা
WHEREছাড়াUPDATEকরলে সকল রো আপডেট হবে- প্রোডাকশনে ইনপুট ভ্যালিডেশন এবং SQL ইনজেকশন প্রতিরোধ নিশ্চিত করুন