কম্পিউটার

মাইএসকিউএল সংরক্ষিত পদ্ধতি লেখা শুরু করার এবং ব্যবহার করার পূর্বশর্তগুলি কী কী?


লিখতে শুরু করার আগে এবং MySQL সঞ্চিত পদ্ধতি ব্যবহার করার আগে আমাদের অবশ্যই নিম্নলিখিত পূর্বশর্ত থাকতে হবে -

MySQL সংস্করণ

যেমন আমরা জানি যে MySQL 5 সঞ্চিত পদ্ধতি চালু করেছে, তাই লেখার দিকে তাকানোর আগে এবং সঞ্চিত পদ্ধতিগুলি ব্যবহার করার আগে আমাদের প্রথমে MySQL-এর সংস্করণ পরীক্ষা করতে হবে। এটি নিম্নলিখিত ক্যোয়ারী −

দিয়ে করা যেতে পারে
mysql> Select VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.20    |
+-----------+
1 row in set (0.10 sec)

বর্তমান ব্যবহারকারীর জন্য বিশেষাধিকার

আসলে, প্রক্রিয়া তৈরি করুন এবং ফাংশন তৈরি করুন এর জন্য রুটিন তৈরির বিশেষাধিকার প্রয়োজন৷ ডিফল্টরূপে, MySQL স্বয়ংক্রিয়ভাবে রুটিন নির্মাতাকে ALTER রুটিন এবং কার্যকরী সুবিধা প্রদান করে। automatic_sp_privileges সিস্টেম ভেরিয়েবল নিষ্ক্রিয় করে এই আচরণ পরিবর্তন করা যেতে পারে। বর্তমান ব্যবহারকারীর জন্য বিশেষাধিকার নিম্নলিখিত ক্যোয়ারী −

দিয়ে চেক করা যেতে পারে
mysql> SHOW PRIVILEGES

একটি ডাটাবেস নির্বাচন করা

একটি পদ্ধতি তৈরি করার আগে আমাদের অবশ্যই উপলব্ধ ডাটাবেস থেকে একটি ডাটাবেস নির্বাচন করতে হবে। এটি নিম্নলিখিত প্রশ্নের সাহায্যে করা যেতে পারে -

mysql> USE query;
Database changed

উপরের ক্যোয়ারী থেকে, এটা স্পষ্ট যে আমরা 'query' নামে একটি ডাটাবেস ব্যবহার করছি।

একটি DELIMITER বাছাই

ডিলিমিটার হল অক্ষরের অক্ষর বা স্ট্রিং যা একটি SQL স্টেটমেন্ট সম্পূর্ণ করতে ব্যবহৃত হয়। ডিফল্টরূপে, আমরা একটি সেমিকোলন (;) একটি বিভেদক হিসাবে ব্যবহার করি। কিন্তু এটি সংরক্ষিত পদ্ধতিতে সমস্যা সৃষ্টি করে কারণ একটি পদ্ধতির অনেকগুলি বিবৃতি থাকতে পারে এবং প্রত্যেককে অবশ্যই একটি সেমিকোলন দিয়ে শেষ করতে হবে। তাই আপনার ডিলিমিটারের জন্য, একটি স্ট্রিং বাছাই করুন যা খুব কমই একটি বিবৃতি বা পদ্ধতির মধ্যে ঘটে। আমরা ডাবল ব্যাকস্ল্যাশ // অথবা ডবল ডলার চিহ্ন $$ বেছে নিতে পারি অথবা আমাদের পছন্দের অন্য কোনো ডিলিমিটার। এটি নিম্নলিখিত প্রশ্নের সাহায্যে করা যেতে পারে -

mysql> DELIMITER // ;

এখন, ডিফল্ট ডিলিমিটার পরিবর্তন করা হয়েছে // চিহ্নে এবং এটি নিম্নলিখিত ক্যোয়ারী থেকে চেক করা যেতে পারে -

mysql> Select * from student_info //
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 100  | Aarav   | Delhi      | Computers  |
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 110  | Rahul   | Chandigarh | History    |
+------+---------+------------+------------+
4 rows in set (0.00 sec)

  1. MySQL-এ BLOB এবং TEXT ডেটাটাইপের মধ্যে পার্থক্য কী?

  2. MySQL 8.0-এ অপশন এবং ভেরিয়েবল কি কি অবচয়?

  3. MySQL 8.0 এ কোন বিকল্প এবং ভেরিয়েবল চালু করা হয়েছে?

  4. C# শেখার পূর্বশর্ত কি?