برای ایجاد یک stored procedure در MYSQL باید اول کد ایجاد اونو تو پایگاه داده بنویسید و در حقیقت اون رو در پایگاه داده قرار بدید و از طریق برنامه اون procedure رو فراخونی کنید.
procedure ها بیشتر برای انجام عملیات روی داده ها و دستکاری اونها در پایگاه داده استفاده می شن.مثلا ویرایش یا درج یا حذف یا پردزاش و .....
یک مثال کوچک برای ایجاد یک procedure جهت درج اطلاعات در یک جدول.
USE `database`;
DROP procedure IF EXISTS `insert_p`;
CREATE PROCEDURE `database`.`insert_p` (IN `p_name` varchar(15),IN `p_family` varchar(20),IN `p_telephon` varchar(15),IN `p_mobile` varchar(11))
BEGIN
INSERT INTO table1 (`name`,family,telephon,mobile)
VALUES (p_name,p_family,p_telephon,p_mobile);
END
با اجرای این کد در پایگاه داده mysql و داخل database یک procedure با نام insert_p ایجاد می شود که با گرفتن ۴ ورودی نام و نام خانوادگی و تلفن و موبایل آنها را داخل جدول table1 درج می کند.
برای امتحان آن در mysql workbench این کد را وارد کنید و اجرا نمایید .
CALL database.insert_p('amir','shahriary','0511999999','09159999999');
با این کار باید یک سطر در جدول با اطلاعات وارد شده درج گردد.
برای استفاده از این procedure در lazarus ۲ راه وجود دارد.
یکی اینکه کد شبیه به کد بالا را در یک query ایجاد کنید و سپس query را EXEsql کنید (نه open) .
راه دوم باید از طریق پارامتر ها این کد را در query ایجاد کنید (تو پست بعد توضیح میدم
)
یا حق