কম্পিউটার

কিভাবে একটি MySQL সঞ্চিত পদ্ধতি এটির ভিতরে অন্য MySQL সঞ্চিত পদ্ধতিকে কল করতে পারে?


এটা খুবই সম্ভব যে একটি MySQL সঞ্চিত পদ্ধতি এটির ভিতরে অন্য MySQL সঞ্চিত পদ্ধতিকে কল করতে পারে। এটি প্রদর্শন করার জন্য, আমরা একটি উদাহরণ নিচ্ছি যেখানে একটি সঞ্চিত পদ্ধতি শেষ_ইনসার্ট_আইডি খুঁজে বের করতে অন্য একটি সঞ্চিত পদ্ধতিকে কল করবে।

উদাহরণ

mysql> Create table employee.tbl(Id INT NOT NULL AUTO_INCREMENT, Name Varchar(30) NOT NULL, PRIMARY KEY(id))//
Query OK, 0 rows affected (3.87 sec)

mysql> Create Procedure insert1()
   -> BEGIN insert into employee.tbl(name) values ('Ram');
   -> END//
Query OK, 0 rows affected (0.10 sec)

এখন, পরবর্তী পদ্ধতিতে insert2() আমরা ১ম সংরক্ষিত পদ্ধতিকে কল করব অর্থাৎ insert1()।

mysql> Create Procedure insert2()
   -> BEGIN
   -> CALL insert1();
   -> Select last_insert_id();
   -> END //
Query OK, 0 rows affected (0.11 sec)
mysql> Delimiter ;

mysql> Call insert2();
+------------------+
| last_insert_id() |
+------------------+
| 1                |
+------------------+
1 row in set (0.36 sec)
Query OK, 0 rows affected (0.37 sec)

উপরের ফলাফলের সেটটি দেখায় যে যখন আমরা insert1() কল করি তখন এটি employee.tbl নামক সারণীতে প্রথম মান সন্নিবেশিত করে এবং যখন আমরা 2য় সংরক্ষিত পদ্ধতিতে last_insert_id() নির্বাচন করি অর্থাৎ insert2() তখন এটি আউটপুট 1 দেয়।


  1. কিভাবে আমরা একটি MySQL সঞ্চিত পদ্ধতির মধ্যে ROLLBACK লেনদেন সম্পাদন করতে পারি?

  2. মাইএসকিউএল সংরক্ষিত পদ্ধতির মধ্যে আমরা কীভাবে কমিট লেনদেন করতে পারি?

  3. আমরা কিভাবে MySQL সংরক্ষিত পদ্ধতির মধ্যে START লেনদেন সম্পাদন করতে পারি?

  4. MySQL এ নির্বাচন বিবৃতি ব্যবহার করে একটি সঞ্চিত পদ্ধতিকে কীভাবে কল করবেন?