সঞ্চিত পদ্ধতি থেকে একটি মান ফেরত দিতে, আপনাকে ব্যবহারকারীর সংজ্ঞায়িত সেশন নির্দিষ্ট ভেরিয়েবল ব্যবহার করতে হবে। পরিবর্তনশীল নামের আগে @ প্রতীক যোগ করুন।
উদাহরণস্বরূপ, পরিবর্তনশীল ভ্যালিডোর জন্য @symbol ব্যবহার করুন। এর জন্য সিনট্যাক্স নিম্নরূপ:
@valido নির্বাচন করুন;
যখনই আপনি সিলেক্ট স্টেটমেন্ট ব্যবহার করেন, আপনাকে @anyVariableName ব্যবহার করতে হবে। সিনট্যাক্স নিম্নরূপ:
@anyVariableName নির্বাচন করুন;
এখানে রিটার্ন মানের সংরক্ষিত পদ্ধতির ডেমো রয়েছে। একটি সঞ্চিত পদ্ধতি তৈরি করার জন্য ক্যোয়ারী নিম্নরূপ:
mysql> পদ্ধতি তৈরি করুন ReturnValueFrom_StoredProcedure -> ( -> num1 int-এ, -> num2 int-এ, -> out valido int -> ) -> Begin -> IF (num1> 4 এবং num2> 5) তারপর -> সেট করুন valido =(num1+num2); -> ELSE -> সেট ভ্যালিডো =(num1-num2); -> END IF; -> @valido নির্বাচন করুন; -> শেষ //কোয়েরি ঠিক আছে, 0টি সারি প্রভাবিত (0.32 সেকেন্ড)mysql> DELIMITER;
CALL কমান্ড ব্যবহার করে সঞ্চিত পদ্ধতিতে কল করুন। প্রশ্নটি নিম্নরূপ:
mysql> কল ReturnValueFrom_StoredProcedure(10,6,@TotalSum);+---------+| @ভালিডো |+---------+| NULL |+---------+1 সারি সেটে (0.00 সেকেন্ড) কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.01 সেকেন্ড)
এখন সিলেক্ট স্টেটমেন্ট ব্যবহার করে সংরক্ষিত পদ্ধতির ফলাফল পরীক্ষা করুন। প্রশ্নটি নিম্নরূপ:
mysql> @TotalSum নির্বাচন করুন;
নিম্নলিখিত আউটপুট:
<প্রে>+------------+| @টোটালসাম |+------------+| 16 |+----------+1 সারি সেটে (0.00 সেকেন্ড)এখন দুটি মানের পার্থক্যের জন্য দ্বিতীয় কল। সঞ্চিত পদ্ধতিতে কল করুন।
mysql> কল ReturnValueFrom_StoredProcedure(4,2,@TotalDiff);+---------+| @ভালিডো |+---------+| NULL |+---------+1 সারি সেটে (0.00 সেকেন্ড) কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.01 সেকেন্ড)
নির্বাচন বিবৃতি ব্যবহার করে ব্যবহারকারী সংজ্ঞায়িত সেশন-নির্দিষ্ট ভেরিয়েবল থেকে ফলাফল পরীক্ষা করুন। প্রশ্নটি নিম্নরূপ:
mysql> নির্বাচন করুন @TotalDiff;
নিম্নলিখিত আউটপুট:
<প্রে>+------------+| @টোটালডিফ |+------------+| 2 |+------------+1 সারি সেটে (0.00 সেকেন্ড)