কম্পিউটার টিউটোরিয়াল

MySQL টেবিল থেকে কিছু শর্তের ভিত্তিতে ভ্যালু সিলেক্ট করার জন্য স্টোরড প্রোসিজার কীভাবে তৈরি করবেন?

MySQL টেবিল থেকে কিছু শর্তের ভিত্তিতে রেকর্ড সিলেক্ট করতে IN এবং OUT অপারেটরসহ একটি স্টোরড প্রোসিজার তৈরি করা যায়। 'student_info' টেবিল ব্যবহার করে বুঝতে পারি, যাতে নিচের ডাটা আছে:

mysql> SELECT * FROM student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 110  | Rahul   | Chandigarh | History    |
| 125  | Raman   | Bangalore  | Computers  |
+------+---------+------------+------------+
4 rows in set (0.01 sec)

এখন, 'select_studentinfo' নামক প্রোসিজার নিচেরভাবে তৈরি করে 'student_info' টেবিল থেকে 'id' মান দিয়ে মানগুলো সিলেক্ট করা যায়:

mysql> DELIMITER // ;
mysql> CREATE PROCEDURE Select_studentinfo (
    IN p_id INT,
    OUT p_name VARCHAR(20),
    OUT p_address VARCHAR(20),
    OUT p_subject VARCHAR(20))
    -> BEGIN
    -> SELECT name, address, subject INTO p_name, p_address, p_subject
    -> FROM student_info
    -> WHERE id = p_id;
    -> END //
Query OK, 0 rows affected (0.03 sec)

এখন, কন্ডিশন হিসেবে যেসব মান দিতে চাই সেগুলো দিয়ে প্রোসিজার আহ্বান করুন:

mysql> DELIMITER ; //
mysql> CALL Select_studentinfo(110, @p_name, @p_address, @p_subject);
Query OK, 1 row affected (0.06 sec)
mysql> SELECT @p_name AS Name, @p_address AS Address, @p_subject AS Subject;
+--------+------------+-----------+
| Name   | Address    | Subject   |
+--------+------------+-----------+
| Rahul  | Chandigarh | History   |
+--------+------------+-----------+
1 row in set (0.00 sec)
  1. বেস টেবিল থেকে মানের রেঞ্জ সিলেক্ট করে MySQL ভিউ তৈরি করা (BETWEEN)

  2. MySQL-এ স্টোরড প্রসিডিউর দিয়ে টেবিল তৈরি করা

  3. MySQL-এ কীওয়ার্ডের ভিত্তিতে টেবিল থেকে রেকর্ড নির্বাচন করা

  4. MySQL-এ NOT IN() ব্যবহার করে নির্দিষ্ট মান বাদ দিয়ে রেকর্ড নির্বাচন