একটি কোয়েরিতে ব্যবহার করার জন্য কলামের নাম তৈরি করতে, আপনাকে সেট কমান্ডের সাথে একটি ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবল ব্যবহার করতে হবে। সিনট্যাক্স নিম্নরূপ -
@anyVariableName সেট করুন :=( CONCAT ( "নির্বাচন করুন", GROUP_CONCAT("\n 1 হিসাবে ", COLUMN_NAME) বিভাজক ','), "\n দ্বৈত থেকে") নির্বাচন করুন INFORMATION_SCHEMA_COLUMNS যেখানে 'টেবিল_নামে'যোগ্য );
এখন PREPARE কমান্ড ব্যবহার করে স্টেটমেন্ট প্রস্তুত করুন। সিনট্যাক্স নিম্নরূপ -
@anyVariableName থেকে যেকোনো ভেরিয়েবলনাম প্রস্তুত করুন;
EXECUTE কমান্ড ব্যবহার করে স্টেটমেন্ট এক্সিকিউট করুন। সিনট্যাক্স নিম্নরূপ -
যেকোনো পরিবর্তনশীল নাম চালান;
DEALLOCATE কমান্ড ব্যবহার করে প্রস্তুত বিবৃতিটি ডিলোকেট করুন। সিনট্যাক্স নিম্নরূপ -
DALLOCATE Prepare any VariableName;
আমরা এখন দুটি কলাম সহ একটি টেবিল তৈরি করব এবং কলামটি কনক্যাট কোয়েরিতে ব্যবহার করা হবে। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -
mysql> টেবিল তৈরি করুন ConcatenationWithUserDefinedVariable -> ( -> Id int NULL AUTO_INCREMENT, -> User_Id int, -> PRIMARY KEY(Id) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (1.14 সেকেন্ড)
কলামের নামের জন্য উপরের সিনট্যাক্স ব্যবহার করুন ক্যোয়ারীতে ব্যবহার করা হবে। প্রশ্নটি নিম্নরূপ -
mysql> সেট @q :=( -> concat (-> "select", -> group_concat(concat("\n 1 হিসাবে ", column_name) বিভাজক ','), -> "\nদ্বৈত থেকে" ) -> information_schema.columns থেকে -> যেখানে table_name ='ConcatenationWithUserDefinedVariable');কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.01 সেকেন্ড)
উপরোক্ত ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবল প্রস্তুত করার জন্য ক্যোয়ারী নিম্নরূপ -
mysql> @q থেকে stmt প্রস্তুত করুন; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড) বিবৃতি প্রস্তুত করা হয়েছে
এখন উপরের প্রস্তুত বিবৃতিটি সম্পাদন করুন। প্রশ্নটি নিম্নরূপ -
mysql> চালান stmt;
নিচের আউটপুট −
<প্রে>+----+---------+| আইডি | User_Id |+----+---------+| 1 | 1 |+---+---------+1 সারি সেটে (0.00 সেকেন্ড)শেষ পর্যন্ত, আপনাকে প্রস্তুত বিবৃতিটি ডিলোকেট করতে হবে। প্রশ্নটি নিম্নরূপ -
mysql> ডিললোকেট প্রস্তুত stmt; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড)