মাইএসকিউএল: সঞ্চিত পদ্ধতিতে একাধিক ক্ষেত্রকে একাধিক ভেরিয়েবলে নির্বাচন করা


106

আমি কি মাইএসকিউএলে একই নির্বাচিত ক্যোয়ারির মধ্যে একাধিক কলামগুলি একাধিক ভেরিয়েবলগুলিতে নির্বাচন করতে পারি?

উদাহরণ স্বরূপ:

DECLARE iId INT(20);
DECLARE dCreate DATETIME;

SELECT Id INTO iId, dateCreated INTO dCreate 
FROM products
WHERE pName=iName;

এর জন্য সঠিক বাক্য গঠন কী?

উত্তর:


220

আপনার বাক্য গঠন সঠিক নয়: আইএনটিওর আগে আপনাকে ক্ষেত্রগুলি তালিকাভুক্ত করতে হবে এবং এর পরে সংশ্লিষ্ট টার্গেট ভেরিয়েবলগুলি:

SELECT Id, dateCreated
INTO iId, dCreate
FROM products
WHERE pName = iName

6
+1 টি। এটি এমন একটি ক্ষেত্রে যেখানে টি-এসকিউএল সিনট্যাক্সটি আরও পরিষ্কার। এগুলি পৃথক তালিকা হিসাবে রাখার ফলে কর্সার এবং ফেকের হিসাবে একই রক্ষণাবেক্ষণের সমস্যা দেখা দেয় (এমন নয় যে আমি কখনই সেগুলি ব্যবহার করি না)।
হারপো

Pl / SQL এর জন্যও একই।
অনিকেত ঠাকুর

11

========== পরামর্শ ==========

@ মার্টিন ক্লেটন উত্তরটি সঠিক, তবে এটি কেবল একটি পরামর্শ।

সঞ্চিত পদ্ধতিতে অস্পষ্ট পরিবর্তনশীল ব্যবহার এড়াতে দয়া করে।

উদাহরণ:

SELECT Id, dateCreated
INTO id, datecreated
FROM products
WHERE pName = iName

উপরের উদাহরণটি একটি ত্রুটি ঘটবে (নাল মান ত্রুটি)

নীচে দেওয়া উদাহরণ সঠিক। আমি আশা করি এটি বোধগম্য হবে।

উদাহরণ:

SELECT Id, dateCreated
INTO val_id, val_datecreated
FROM products
WHERE pName = iName

আপনি এগুলি টেবিলের রেফারেন্স দ্বারা দ্ব্যর্থহীন করতে পারেন, যেমন:

[ক্রেডিট: ম্যাগানাপ ]

SELECT p.Id, p.dateCreated INTO id, datecreated FROM products p 
WHERE pName = iName

আপনি এগুলি টেবিলের রেফারেন্স দ্বারা দ্ব্যর্থহীন করতে পারেন, যেমন:SELECT p.Id, p.dateCreated INTO id, datecreated FROM products p WHERE pName = iName
মগনাপ

2

মার্টিনের উত্তরের বিকল্প হিসাবে, আপনি ক্যোয়ারীটি আরও পাঠযোগ্য করে তুলতে ক্যোয়ারির শেষে INTO অংশটি যুক্ত করতে পারেন:

SELECT Id, dateCreated FROM products INTO iId, dCreate

@ কুসালডিসনায়েকে এই প্রশ্নটি মাইএসকিউএল
ইবাই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.