ইউজার-ডিফাইনড ভ্যারিয়েবল (@variable) এবং INTO ক্লজ ব্যবহার করে কোয়েরির ফলাফল ভ্যারিয়েবলে স্টোর করা যায়।
টেবিল ও ডেটা:
mysql> CREATE TABLE DemoTable2001 (ExamDate DATE);
mysql> INSERT INTO DemoTable2001 VALUES
('2019-01-10'), ('2018-12-31'), ('2018-11-18'), ('2019-07-25');
সর্বোচ্চ তারিখ ভ্যারিয়েবলে স্টোর করা:
mysql> SET @comingExamDate := NULL; mysql> SELECT DATE(MAX(ExamDate)) INTO @comingExamDate FROM DemoTable2001; mysql> SELECT @comingExamDate;
আউটপুট:
+------------------+ | @comingExamDate | +------------------+ | 2019-07-25 | +------------------+
ব্যাখ্যা
SET @var := NULL— ভ্যারিয়েবল ইніশিয়ালাইজ।SELECT ... INTO @var— কোয়েরির ফলাফল ভ্যারিয়েবলে অ্যাসাইন।@var— সেশন-স্কোপড ভ্যারিয়েবল (কানেকশন বন্ধ না হয়ে পর্যন্ত থাকে)।
ব্যবহারিক উদাহরণ
-- পরবর্তী পরীক্ষার তারিখ নিয়ে নোটিফিকেশন পাঠানো SET @next_exam := (SELECT MAX(ExamDate) FROM exams); SELECT * FROM students WHERE exam_date = @next_exam;
স্টোরড প্রোসিডিউর বা ট্রিগারের ভেতরেও এই ভ্যারিয়েবল ব্যবহার করা যায়।