MySQL স্টোরড প্রোসিডিউর, ট্রিগার বা ফাংশন লিখতে সময় সিনট্যাক্স এরর এড়াতে ডেলিমিটার পরিবর্তন করা অত্যন্ত গুরুত্বপূর্ণ। ডিফল্ট ডেলিমিটার `;` কে `//` এ পরিবর্তন করে আপনি জটিল SQL ব্লক সহজে রান করতে পারবেন।
ডেলিমিটার পরিবর্তনের সিনট্যাক্স
DELIMITER //
CREATE PROCEDURE yourProcedureName()
BEGIN
Statement1;
...
StatementN;
END;
//
DELIMITER ;
উদাহরণ: স্টোরড প্রোসিডিউর তৈরি করা
mysql> DELIMITER //
mysql> CREATE PROCEDURE sp_getAllRecords()
-> BEGIN
-> SELECT * FROM employeetable;
-> END;
-> //
Query OK, 0 rows affected (0.23 sec)
mysql> DELIMITER ;
প্রোসিডিউর কল করা
স্টোরড প্রোসিডিউর চালানোর জন্য CALL কমান্ড ব্যবহার করুন:
CALL yourStoredProcedureName();
আউটপুট উদাহরণ
mysql> CALL sp_getAllRecords(); +------------+--------------+----------------+ | EmployeeId | EmployeeName | EmployeeSalary | +------------+--------------+----------------+ | 2 | Bob | 1000 | | 3 | Carol | 2500 | +------------+--------------+----------------+ 2 rows in set (0.00 sec)
মূল টিপস: স্টোরড প্রোগ্রাম (প্রোসিডিউর, ফাংশন, ট্রিগার) লিখতে হলে সবসময় ডেলিমিটার পরিবর্তন করুন। কাজ শেষে আবার `DELIMITER ;` দিয়ে ডিফল্টে ফেরত যান।