MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল (@variable) ব্যবহার করে SELECT রেজাল্ট সংরক্ষণ করা যায়।
উদাহরণ:
টেবিল তৈরি:
CREATE TABLE DemoTable631 (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(100)
);
রেকর্ড যোগ করা:
INSERT INTO DemoTable631(StudentName) VALUES('John Smith'), ('Adam Smith'), ('David Miller');
সব রেকর্ড দেখানো:
SELECT * FROM DemoTable631;
আউটপুট:
+-----------+--------------+ | StudentId | StudentName | +-----------+--------------+ | 1 | John Smith | | 2 | Adam Smith | | 3 | David Miller | +-----------+--------------+
SELECT রেজাল্ট ভেরিয়েবলে স্টোর:
SET @fullName = (SELECT StudentName FROM DemoTable631 WHERE StudentId = 2);
ভেরিয়েবল প্রিন্ট:
SELECT @fullName;
ফলাফল:
+------------+ | @fullName | +------------+ | Adam Smith | +------------+
ব্যাখ্যা: @fullName একটি সেশন-স্কোপড ইউজার ভেরিয়েবল। সাবকোয়েরি অবশ্যই একক ভ্যালু রিটার্ন করতে হবে (সিনগেল রো, সিনগেল কলাম)। একাধিক রো রিটার্ন করলে এরর হবে। স্ট্রোড প্রসিডিউর বা ফাংশনে LOCAL ভেরিয়েবল (DECLARE) ব্যবহার করা ভালো।