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

MySQL স্টোরড প্রসিজার তৈরিতে DEFINER আবশ্যিক কি?

না, MySQL স্টোরড প্রসিজার তৈরির সময় DEFINER ক্লজ বাধ্যতামূলক নয়। এটি শুধু তখন লাগে যখন আপনি নির্দিষ্ট ইউজারকে ডিফাইনার হিসেবে назначит করতে চান।

বিদ্যমান ইউজার দেখুন

mysql> select user, host from mysql.user;

আউটপুট

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Manish           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| Adam Smith       | localhost |
| User1            | localhost |
| am               | localhost |
+------------------+-----------+
9 rows in set (0.03 sec)

DEFINER সহ প্রসিজার তৈরি করুন

mysql> delimiter // 
mysql> CREATE DEFINER = 'Adam Smith'@'localhost' PROCEDURE Sp_Definer() 
    -> BEGIN 
    ->   SELECT 'Hello MySQL'; 
    -> END; 
    -> // 
Query OK, 0 rows affected (0.14 sec) 
mysql> delimiter ;

প্রসিজার কল করুন

CALL Sp_Definer();

আউটপুট

+-------------+
| Hello MySQL |
+-------------+
| Hello MySQL |
+-------------+
1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
নোট: DEFINER না দিলে ডিফল্টভাবে বর্তমান ইউজারই ডিফাইনার হয়। নিরাপত্তা ও আডিটিংয়ের জন্য নির্দিষ্ট ডিফাইনার ব্যবহার করা ভালো অভ্যাস।
  1. MySQL স্টোরড প্রোসিডিউরে DELETE কোয়েরি বাস্তবায়ন করা

  2. MySQL স্টোরড প্রসিডিউরে WHERE IN() ব্যবহার করা

  3. MySQL 저장 프로시저에서 수학 연산(곱셈) 수행하기

  4. MySQL স্টোরড প্রসিডিউরে ডেটা ইনসার্ট করা