সারির মান 1 দ্বারা বাড়ানো এবং কমানোর জন্য প্রথমে একটি টেবিল তৈরি করা যাক। নিচের প্রশ্নটি হল −
mysql> create table IncrementAndDecrementValue −> ( −> UserId int, −> UserScores int −> ); Query OK, 0 rows affected (0.60 sec)
সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -
mysql> insert into IncrementAndDecrementValue values(101,20000); Query OK, 1 row affected (0.13 sec) mysql> insert into IncrementAndDecrementValue values(102,30000); Query OK, 1 row affected (0.20 sec) mysql> insert into IncrementAndDecrementValue values(103,40000); Query OK, 1 row affected (0.11 sec)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
mysql> select *from IncrementAndDecrementValue;
নিচের আউটপুট −
+--------+------------+ | UserId | UserScores | +--------+------------+ | 101 | 20000 | | 102 | 30000 | | 103 | 40000 | +--------+------------+ 3 rows in set (0.00 sec)
সারি মান 1 দ্বারা বৃদ্ধি এবং হ্রাস করার জন্য এখানে আমার সংরক্ষিত পদ্ধতি।
mysql> delimiter // mysql> create procedure IncrementAndDecrementRowValueByOne() −> begin −> declare first int; −> declare second int; −> set first = (select UserScores from IncrementAndDecrementValue where UserId = 101); −> set second = (select UserScores from IncrementAndDecrementValue where UserId = 102); −> update IncrementAndDecrementValue set UserScores = first-1 where UserId = 101; −> update IncrementAndDecrementValue set UserScores = second+1 where UserId = 102; −> end // Query OK, 0 rows affected (0.17 sec) mysql> delimiter ;
CALL কমান্ড ব্যবহার করে সঞ্চিত পদ্ধতিতে কল করুন। প্রশ্নটি নিম্নরূপ -
mysql> call IncrementAndDecrementRowValueByOne(); Query OK, 1 row affected (0.24 sec)
চেক করুন সারি মান আপডেট করা হয়েছে নাকি সিলেক্ট স্টেটমেন্ট ব্যবহার করছে না। প্রশ্নটি নিম্নরূপ -
mysql> select *from IncrementAndDecrementValue;
নিচের আউটপুট −
+--------+------------+ | UserId | UserScores | +--------+------------+ | 101 | 19999 | | 102 | 30001 | | 103 | 40000 | +--------+------------+ 3 rows in set (0.00 sec)
আমরা 20000 থেকে 19999 মান হ্রাস করেছি এবং 30000 থেকে 30001 বৃদ্ধি করেছি৷