ইউজার-ডিফাইনড ভ্যারিয়েবল (@var), সাবকোয়েরি এবং IF() ফাংশন একসাথে ব্যবহার করে ডাইনামিক মেসেজ জেনারেট করা যায়।
টেবিল ও ডেটা:
mysql> CREATE TABLE DemoTable2008 (Value INT); mysql> INSERT INTO DemoTable2008 VALUES (10), (20), (30), (-31), (-28);
যোগফল ভ্যারিয়েবলে স্টোর এবং মেসেজ জেনারেট:
mysql> SET @value := (SELECT SUM(Value) FROM DemoTable2008); mysql> SELECT IF(@value > 0, 'Value is greater than 0', 'Not greater than') AS Result;
আউটপুট:
+-------------------------+ | Result | +-------------------------+ | Value is greater than 0 | +-------------------------+
গণনা
১০ + ২০ + ৩০ + (-৩১) + (-২৮) = ১ (গতের বড়) → মেসেজ: "Value is greater than 0"
ব্যাখ্যা
SET @value := (SELECT ...)— সাবকোয়েরির ফলাফল ভ্যারিয়েবলে অ্যাসাইন।IF(@value > 0, ..., ...)— শর্ত চেক করে মেসেজ বেছে নেয়।- এটি রিপোর্টিং, কন্ডিশনাল লজিক, ডাইনামিক SQL-এ খুব কাজে লাগে।
বিস্তারিত CASE উদাহরণ
SELECT CASE
WHEN @value > 100 THEN 'High'
WHEN @value > 0 THEN 'Positive'
WHEN @value = 0 THEN 'Zero'
ELSE 'Negative'
END AS Status;