আপনি IN এবং OUT ব্যবহার করে একটি প্যারামিটার তৈরি করতে পারেন। IN ইনপুট প্যারামিটার নিতে ব্যবহৃত হয় এবং আউটপুটের জন্য OUT ব্যবহার করা যেতে পারে।
সিনট্যাক্স নিম্নরূপ
ডিলিমিটার //প্রক্রিয়া তৈরি করুন আপনার পদ্ধতির নাম(আপনার প্যারামিটার নামের ডেটা টাইপের মধ্যে, আপনার প্যারামিটার নামের ডেটা টাইপ থেকে)BEGINআপনার স্টেটমেন্ট1;আপনার স্টেটমেন্ট2;..NEND;//ডিলিমিটার;
প্রথমত, আমরা একটি টেবিল তৈরি করব। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ
mysql> টেবিল SumOfAll তৈরি করুন -> ( -> পরিমাণ int -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.78 সেকেন্ড)
সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ
mysql> SumOfAll মানগুলিতে সন্নিবেশ করুন 450); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.10 সেকেন্ড) mysql> SumOfAll মানগুলিতে সন্নিবেশ করুন (400); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.20 সেকেন্ড)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ
mysql> SumOfAll থেকে *নির্বাচন করুন;
নিম্নলিখিত আউটপুট
<প্রে>+---------+| পরিমাণ |+---------+| 100 || 330 || 450 || 400 |+-------+4 সারি সেটে (0.00 সেকেন্ড)এখন, আমরা একটি সংরক্ষিত পদ্ধতি তৈরি করব যা টেবিলে মানটি উপস্থিত আছে কি না তা পরীক্ষা করবে। যদি প্রদত্ত মানটি টেবিলে উপস্থিত না থাকে তবে আপনি একটি NULL মান পাবেন৷
সংরক্ষিত পদ্ধতিটি নিম্নরূপ
mysql> DELIMITER //mysql> পদ্ধতি তৈরি করুন sp_ChechValue(IN value1 int,OUT value2 int) -> শুরু -> মান সেট করুন 2=(SumOfAll থেকে পরিমাণ নির্বাচন করুন যেখানে Amount=value1); -> শেষ; -> //কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.20 সেকেন্ড)mysql> বিভেদক;
আসুন কিছু মান সহ সংরক্ষিত পদ্ধতিটিকে কল করি এবং একটি সেশন ভেরিয়েবলে আউটপুট সংরক্ষণ করি।
কেস 1:যখন মানটি টেবিলে উপস্থিত থাকে না।
mysql> কল sp_ChechValue(300,@isPresent); কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড)
এখন সিলেক্ট স্টেটমেন্ট ব্যবহার করে একটি ভেরিয়েবল @isPresent-এ মান পরীক্ষা করুন। প্রশ্নটি নিম্নরূপ
mysql> @isPresent নির্বাচন করুন;
নিম্নলিখিত আউটপুট
<প্রে>+------------+| @isবর্তমান |+------------+| NULL |+------------+1 সারি সেটে (0.00 সেকেন্ড)কেস 2:যখন মান উপস্থিত থাকে।
প্রশ্নটি নিম্নরূপ। আসুন আমরা সঞ্চিত পদ্ধতিকে কল করি
mysql> কল sp_ChechValue(330,@isPresent); কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড)
একটি সেশন ভেরিয়েবল @isPresent এর মান পরীক্ষা করুন। প্রশ্নটি নিম্নরূপ
mysql> @isPresent নির্বাচন করুন;
নিম্নলিখিত আউটপুট
<প্রে>+------------+| @isবর্তমান |+------------+| 330 |+------------+1 সারি সেটে (0.00 সেকেন্ড)