অর্ডার এবং বর্ণ এবং সংখ্যার মিশ্র স্ট্রিংয়ের তুলনা


9

আমাদের মানগুলিতে কিছু প্রতিবেদন করতে হবে যা সাধারণত সংখ্যা এবং বর্ণের মিশ্রিত স্ট্রিং যা 'প্রাকৃতিকভাবে' বাছাই করা দরকার। বিষয়গুলি যেমন, "P7B18" বা "P12B3"। @ স্ট্রিংগুলি বেশিরভাগ অক্ষরের ক্রম হবে তারপর সংখ্যাগুলি পর্যায়ক্রমে হবে। যদিও এই বিভাগগুলির সংখ্যা এবং প্রত্যেকের দৈর্ঘ্য পৃথক হতে পারে।

আমরা এগুলির সংখ্যাসূচক অংশগুলিকে সংখ্যা অনুসারে বাছাই করতে চাই। স্পষ্টতই, আমি যদি কেবল স্ট্রিংয়ের মানগুলি সরাসরি ORDER BYএটির সাথে পরিচালনা করি তবে "পি 7 বি 18" "পি 7 বি 18" এর আগে আসতে চলেছে, যেহেতু "পি 1" "পি 7" এর আগে, তবে আমি "বি 7" প্রাকৃতিক পূর্ববর্তী হিসাবে বিপরীত চাই like "P12"।

আমি পরিসীমা তুলনা যেমন, যেমন @bin < 'P13S6'বা অন্য কিছু করতে সক্ষম হতে চাই some আমাকে ভাসমান পয়েন্ট বা নেতিবাচক সংখ্যাগুলি পরিচালনা করতে হবে না; এগুলি হ'ল কঠোরভাবে অ-নেতিবাচক পূর্ণসংখ্যার সাথে আমরা আচরণ করছি। স্ট্রিং দৈর্ঘ্য এবং বিভাগগুলির সংখ্যা সম্ভাব্যভাবে নির্বিচারে হতে পারে, কোনও নির্দিষ্ট উপরের সীমা ছাড়াই।

আমাদের ক্ষেত্রে, স্ট্রিং কেসিং গুরুত্বপূর্ণ নয়, যদিও যদি কোনও জোট-সচেতন ফ্যাশনে এটি করার উপায় থাকে তবে অন্যরা সেটিকে দরকারী বলে মনে করতে পারে। এই সমস্ত কিছুর অংশটি হ'ল আমি ধারাটিতে অর্ডারিং, এবং পরিসীমা ফিল্টারিং উভয়ই করতে সক্ষম হতে চাই WHERE

যদি আমি সি # তে এটি করতাম তবে এটি একটি সহজ সরল কাজ হবে: আলফাকে সংখ্যার থেকে পৃথক করতে, আইকোম্যাপারেবল বাস্তবায়ন করুন এবং আপনি মূলত সম্পন্ন করেছেন some এসকিউএল সার্ভার অবশ্যই অবশ্যই অনুরূপ কোনও কার্যকারিতা সরবরাহ করে না বলে মনে হচ্ছে।

এই কাজটি করার জন্য যে কেউ কোনও ভাল কৌশল জানেন? আইকোম্যাপারেবল বাস্তবায়ন করে এবং এটি প্রত্যাশার সাথে আচরণ করে এমন কাস্টম সিএলআর প্রকার তৈরির জন্য কি কিছু সামান্য প্রচারিত ক্ষমতা রয়েছে? আমি স্টুপিড এক্সএমএল ট্রিকসেরও বিরোধী নই (এটিও দেখুন: তালিকাবদ্ধ করণীয়) এবং সার্ভারে সিএলআর রেজেক্স ম্যাচিং / এক্সট্র্যাক্টিং / রিপ্লেসমেন্ট র‌্যাপার ফাংশনও পেয়েছি।

সম্পাদনা: আরও বিশদ উদাহরণ হিসাবে, আমি ডেটাটি এমন কিছু আচরণ করতে চাই।

SELECT bin FROM bins ORDER BY bin

bin
--------------------
M7R16L
P8RF6JJ
P16B5
PR7S19
PR7S19L
S2F3
S12F0

অর্থাত্ সমস্ত অক্ষর বা সমস্ত সংখ্যার টোকেনগুলিতে স্ট্রিংগুলি ভেঙে যথাক্রমে বর্ণানুক্রমিক বা সংখ্যা অনুযায়ী বাছাই করুন, বাম দিকের টোকেনগুলি সর্বাধিক উল্লেখযোগ্য বাছাইয়ের শব্দ হিসাবে রয়েছে। আমি উল্লেখ করেছি, আপনি আইকোয়াম্পেবল বাস্তবায়ন করে। নেট মধ্যে কেকের টুকরো, তবে এসকিউএল সার্ভারে আপনি কীভাবে (বা যদি) এই ধরণের জিনিস করতে পারেন তা আমি জানি না। এটি অবশ্যই এমন কিছু নয় যা আমি এর সাথে কাজ করার 10 বা তারও বেশি বছর পেরিয়ে এসেছি।


আপনি স্ট্রিংটিকে পূর্ণসংখ্যায় রূপান্তর করে কোনও ধরণের সূচিযুক্ত গণনা কলাম দিয়ে এটি করতে পারেন। সুতরাং , তখন (এএসসিআইআই হয়ে) P7B12হয়ে উঠতে পারে , তাইP 07 B 1280 07 65 1280076512
ফিলি

আমি আপনাকে পরামর্শ দিয়েছি যে আপনি একটি গণনাকৃত কলাম তৈরি করুন যা প্রতিটি সংখ্যার উপাদানকে বৃহত দৈর্ঘ্যের (অর্থাত্ 10 জিরো) প্যাড করবে। যেহেতু ফর্ম্যাটটি বেশ নির্বিচারে আপনার একটি দুর্দান্ত বড় ইনলাইন এক্সপ্রেশন প্রয়োজন তবে এটি কার্যকর। তারপরে আপনি যে কলামটিতে নিজের পছন্দ অনুসারে সূচি / অর্ডার করতে পারেন।
নিক.এমসিডার্মাইড

দয়া করে আমার উত্তরের শীর্ষে আমি যুক্ত করা লিঙ্কটি দেখুন :)
সলোমন রুটজকি

1
@ শ্রুতজকি নিস, আমি এর পক্ষে ভোট দিয়েছি।
db2

আরে ডিবি 2: মাইক্রোসফ্ট কানেক্ট থেকে ইউজারভয়েসে চলে যাওয়ার কারণে এবং ভোটের গণনা ঠিক না রাখার কারণে (তারা এটিকে একটি মন্তব্যে রেখেছিল তবে তারা সেটিকে লক্ষ্য করে তা নিশ্চিত নয়), আপনাকে এটির জন্য পুনরায় ভোট দেওয়ার প্রয়োজন হতে পারে: "প্রাকৃতিক বাছাই" সমর্থন করুন / ডিজিআইটিএসএএসবিএস একটি কোলেশন বিকল্প হিসাবে । ধন্যবাদ!
সলোমন রুটজকি

উত্তর:


8

প্রকৃত সংখ্যা হিসাবে স্ট্রিংয়ে সংখ্যা বাছাই করার একটি বুদ্ধিমান, দক্ষ উপায় চান? আমার মাইক্রোসফ্ট সংযোগের পরামর্শের জন্য ভোটদান বিবেচনা করুন: "প্রাকৃতিক বাছাই করা" / ডিআইজিআইটিএসএএসবিএসকে একটি বিকল্প বিকল্প হিসাবে সমর্থন করুন


এটি করার কোনও সহজ, অন্তর্নির্মিত উপায় নেই তবে এখানে একটি সম্ভাবনা রয়েছে:

স্ট্রিংগুলিকে স্থির দৈর্ঘ্যের বিভাগগুলিতে পুনরায় ফর্ম্যাট করে সাধারণ করুন:

  • ধরণের একটি সাজানোর কলাম তৈরি করুন VARCHAR(50) COLLATE Latin1_General_100_BIN2। 50 টির সর্বোচ্চ দৈর্ঘ্যের অংশগুলির সর্বাধিক সংখ্যা এবং তাদের সম্ভাব্য সর্বাধিক দৈর্ঘ্যের উপর ভিত্তি করে সামঞ্জস্য করা দরকার।
  • অ্যাপ্লিকেশন স্তরে আরও দক্ষতার সাথে সাধারণকরণ করা যেতে পারে, টি-এসকিউএল ইউডিএফ ব্যবহার করে এটি ডাটাবেজে হ্যান্ডেল করার ফলে স্কেলার ইউডিএফকে AFTER [or FOR] INSERT, UPDATEট্রিগারে রাখার অনুমতি দেওয়া হবে যাতে আপনি সমস্ত রেকর্ডের জন্য মান ঠিকঠাক করে দেওয়ার গ্যারান্টিযুক্ত এমনকি এমনও অ্যাডহক ক্যোয়ারী ইত্যাদির মাধ্যমে আসা ইত্যাদি অবশ্যই অবশ্যই সেই স্কেলার ইউডিএফকে এসকিউএলসিআরআর এর মাধ্যমেও পরিচালনা করা যেতে পারে তবে কোনটি আসলে আরও দক্ষ ছিল তা নির্ধারণের জন্য এটি পরীক্ষা করা দরকার। **
  • ইউডিএফ (টি এসকিউএল বা এসকিউএলসিএলআর নির্বিশেষে) হওয়া উচিত:
    • প্রতিটি অক্ষর পড়ে এবং টাইপটি যখন আলফা থেকে সংখ্যাসূচক বা সংখ্যার সাথে আলফাতে পরিবর্তন হয় তখন থামিয়ে অজানা সংখ্যক বিভাগগুলি প্রসেস করুন।
    • প্রতিটি বিভাগে এটি কোনও নির্দিষ্ট অংশের সর্বাধিক সম্ভাব্য অক্ষর / অঙ্কগুলিতে সেট করা একটি নির্দিষ্ট দৈর্ঘ্যের স্ট্রিংটি ফেরত পাঠানো উচিত (অথবা ভবিষ্যতের বৃদ্ধির জন্য অ্যাকাউন্টে সর্বোচ্চ + 1 বা 2)।
    • আলফা বিভাগগুলিকে ফাঁকা জায়গায় বাম-ন্যায়সঙ্গত এবং ডান-প্যাড করা উচিত।
    • সংখ্যাযুক্ত বিভাগগুলি শূন্যের সাথে ডান-ন্যায়সঙ্গত এবং বাম-প্যাড হওয়া উচিত।
    • যদি আলফা অক্ষরগুলি মিশ্র কেস হিসাবে আসতে পারে তবে ক্রমটি কেস-সংবেদনশীল হওয়া দরকার, UPPER()সমস্ত বিভাগের চূড়ান্ত ফলাফলের জন্য ফাংশনটি প্রয়োগ করুন (যাতে এটি কেবলমাত্র প্রতিটি বিভাগে নয় একবার করা প্রয়োজন)। এটি বাছাই কলামের বাইনারি কোলেশন প্রদান করে যথাযথ বাছাইয়ের অনুমতি দেবে।
  • AFTER INSERT, UPDATEটেবিলটিতে একটি ট্রিগার তৈরি করুন যা UDF কে বাছাই করুন কলাম সেট করতে। কর্মক্ষমতা উন্নত করতে, UPDATE()এই কোডটি কলামটি বিবৃতিটির ( এমনকি যদি মিথ্যা থাকে) এর SETশৃঙ্খলে রয়েছে কিনা তা নির্ধারণ করতে ফাংশনটি ব্যবহার করুন এবং তারপরে কোড কলামের এবং সিউড-টেবিলগুলিতে কেবলমাত্র কোডের মান পরিবর্তন করা সারিগুলি প্রক্রিয়াকরণে যুক্ত করুন । কোনও পরিবর্তন আছে কিনা তা নির্ধারণে নির্ভুলতা নিশ্চিত করতে সেই জয়েন্ট শর্তে নির্দিষ্ট করে নিশ্চিত করে নিন ।UPDATERETURNINSERTEDDELETEDCOLLATE Latin1_General_100_BIN2
  • নতুন সাজানোর কলামে একটি সূচক তৈরি করুন।

উদাহরণ:

P7B18   -> "P     000007B     000018"
P12B3   -> "P     000012B     000003"
P12B3C8 -> "P     000012B     000003C     000008"

এই পদ্ধতির মধ্যে, আপনি এর মাধ্যমে বাছাই করতে পারেন:

ORDER BY tbl.SortColumn

এবং আপনি এর মাধ্যমে পরিসীমা ফিল্টারিং করতে পারেন:

WHERE tbl.SortColumn BETWEEN dbo.MyUDF('P7B18') AND dbo.MyUDF('P12B3')

বা:

DECLARE @RangeStart VARCHAR(50),
        @RangeEnd VARCHAR(50);
SELECT @RangeStart = dbo.MyUDF('P7B18'),
       @RangeEnd = dbo.MyUDF('P12B3');

WHERE tbl.SortColumn BETWEEN @RangeStart AND @RangeEnd

কোলেশন অগ্রাধিকারের কারণে ORDER BYএবং WHEREফিল্টার উভয়েরই বাইনারি সংযুক্তি ব্যবহার করা উচিত SortColumn

মূল মূল্য কলামে এখনও সমতার তুলনা করা হবে।


অন্যান্য চিন্তা:

  • একটি এসকিউএলসিএলআর ইউডিটি ব্যবহার করুন। এটি কাজ করতে পারে, যদিও এটি উপরে বর্ণিত পদ্ধতির তুলনায় নেট-লাভ উপস্থাপন করে তা অস্পষ্ট।

    হ্যাঁ, একটি এসকিউএলসিআরআর ইউডিটি এর তুলনা অপারেটরগুলিকে কাস্টম অ্যালগরিদম দিয়ে ওভাররাইড করতে পারে। এটি এমন পরিস্থিতি পরিচালনা করে যেখানে মানটি ইতিমধ্যে একই কাস্টম ধরণের অন্য কোনও মানের সাথে তুলনা করা হয়, বা এমন একটি যা স্পষ্টভাবে রূপান্তরিত হওয়া দরকার। এই উচিত একটি সীমার ফিল্টার হ্যান্ডেল WHEREঅবস্থায়।

    নিয়মিত কলামের ধরণ হিসাবে কোনও ইউডিটি বাছাই করার ক্ষেত্রে (কোনও গণিত কলাম নয়) এটি কেবলমাত্র সম্ভব যখন ইউডিটি "বাইট আদেশিত" হয়। "বাইট অর্ডার" হওয়ার অর্থ হ'ল ইউডিটির বাইনারি উপস্থাপনা (যা ইউডিটিতে সংজ্ঞায়িত করা যায়) স্বাভাবিকভাবে যথাযথভাবে সাজানো হয়। ধরে নিই যে বাইনারি উপস্থাপনটি ভর্চার (50) কলামের জন্য উপরে বর্ণিত পদ্ধতির সাথে একইভাবে পরিচালিত হয়েছে যাতে প্যাডযুক্ত নির্দিষ্ট দৈর্ঘ্যের বিভাগ রয়েছে যা যোগ্য হবে। বা, যদি বাইনারি উপস্থাপনাটি যথাযথভাবে যথাযথভাবে অর্ডার করা যায় তা নিশ্চিত করা সহজ না হয় তবে আপনি ইউডিটির কোনও পদ্ধতি বা সম্পত্তি প্রকাশ করতে পারেন যা সঠিকভাবে অর্ডার করা হবে এমন একটি মানকে আউটপুট করে এবং তারপরে একটি PERSISTEDগণিত কলাম তৈরি করতে পারে পদ্ধতি বা সম্পত্তি। পদ্ধতিটি ডিটারমিনিস্টিক এবং চিহ্নিত হিসাবে চিহ্নিত করা দরকার IsDeterministic = true

    এই পদ্ধতির সুবিধা হ'ল:

    • "আসল মান" ক্ষেত্রের প্রয়োজন নেই।
    • ডেটা sertোকাতে বা মানগুলির তুলনা করতে কোনও ইউডিএফ কল করার দরকার নেই। ধরে নিচ্ছি যে Parseইউডিটির পদ্ধতিটি P7B18মান গ্রহণ করে এবং এটি রূপান্তর করে, তবে আপনার স্বাভাবিকভাবে মানগুলি সন্নিবেশ করতে সক্ষম হওয়া উচিত P7B18। এবং ইউডিতে সেট করা অন্তর্নিহিত রূপান্তর পদ্ধতির সাথে, যেখানে শর্তটি কেবল P7B18` ব্যবহার করার অনুমতি দেয় `

    এই পদ্ধতির ফলাফলগুলি হ'ল:

    • কেবল ক্ষেত্রটি নির্বাচন করা বাইনারি উপস্থাপনাটি ফিরিয়ে দেবে, যদি বাইটকে আদেশ দেওয়া ইউডিটি কলামের ডেটাটাইপ হিসাবে ব্যবহার করে। অথবা যদি PERSISTEDকোনও ইউডিটির কোনও সম্পত্তি বা পদ্ধতিতে গণিত কলাম ব্যবহার করা হয়, তবে আপনি সম্পত্তি বা পদ্ধতিতে ফিরে উপস্থাপনা পাবেন। আপনি যদি মূল P7B18মানটি চান , তবে আপনাকে সেই উপস্থাপনাটি ফেরত দেওয়ার জন্য কোডড করা ইউডিটির কোনও পদ্ধতি বা সম্পত্তি কল করতে হবে। যেহেতু আপনাকে ToStringযাহাই হউক না কেন পদ্ধতিটি ওভাররাইড করতে হবে , এটি এটি সরবরাহের জন্য ভাল প্রার্থী।
    • এটি অস্পষ্ট (কমপক্ষে এখনই আমার কাছে যেহেতু আমি এই অংশটি পরীক্ষা করি নি) বাইনারি উপস্থাপনায় যে কোনও পরিবর্তন করা কতটা সহজ / কঠিন কাজ। সঞ্চিত, সাজানোর যোগ্য উপস্থাপনা পরিবর্তন করার জন্য ক্ষেত্রটি ড্রপ এবং পুনরায় যুক্ত করার প্রয়োজন হতে পারে। এছাড়াও, ইউডিটি সম্বলিত অ্যাসেমব্লিকে বাদ দেওয়া যদি কোনওভাবেই ব্যবহার করা হয় তবে ব্যর্থ হয়, সুতরাং আপনি নিশ্চিত করতে চাইবেন যে এই ইউডিটি ছাড়াও বিধানসভায় আর কিছুই ছিল না। আপনি ALTER ASSEMBLYসংজ্ঞাটি প্রতিস্থাপন করতে পারেন তবে এতে কিছু বিধিনিষেধ রয়েছে।

      অন্যদিকে, VARCHAR()ক্ষেত্রটি এমন ডেটা যা অ্যালগরিদম থেকে সংযোগ বিচ্ছিন্ন হয় তাই এটির জন্য কেবল কলামটি আপডেট করা দরকার। এবং যদি সেখানে কয়েক মিলিয়ন সারি (বা আরও বেশি) থাকে তবে এটি একটি সজ্জিত পদ্ধতির মাধ্যমে করা যেতে পারে।

  • আইসিইউ লাইব্রেরি প্রয়োগ করুন যা আসলে এই বর্ণমালা বাছাই করার অনুমতি দেয়। অত্যন্ত কার্যক্ষম অবস্থায়, গ্রন্থাগারটি কেবল দুটি ভাষায় আসে: সি / সি ++ এবং জাভা। যার অর্থ আপনার ভিজ্যুয়াল সি ++ এ কাজ করার জন্য কিছু টুইট করতে হবে বা জাভা কোডটি আইকেভিএম ব্যবহার করে এমএসআইএল রূপান্তর করতে পারে এমন সম্ভাবনা রয়েছে । সেখানে একটি বা দুটি। নেট পাশের প্রকল্পগুলি লিঙ্কযুক্ত আছে যা একটি সিওএম ইন্টারফেস সরবরাহ করে যা পরিচালিত কোডে অ্যাক্সেস করা যায়, তবে আমি বিশ্বাস করি যে তারা কিছুক্ষণের মধ্যে আপডেট হয়নি এবং আমি সেগুলি চেষ্টা করি নি। এখানকার সেরা-বাজিটি হ'ল সাজ্ট কী তৈরির লক্ষ্য নিয়ে অ্যাপ্লিকেশন স্তরে এটি পরিচালনা করা। এর পরে বাছাই কীগুলি নতুন ধরণের কলামে সংরক্ষণ করা হবে।

    এটি সবচেয়ে ব্যবহারিক পদ্ধতির নাও হতে পারে। যাইহোক, এটি এখনও খুব শীতল যে এই ধরনের ক্ষমতা বিদ্যমান। আমি নীচের উত্তরে এর উদাহরণের আরও বিশদ ওয়াক-থ্রো সরবরাহ করেছি:

    নিম্নলিখিত ক্রমটি 1,2,3,6,10,10 এ, 10 বি, 11 অনুসারে নিম্নোক্ত স্ট্রিংগুলি সাজানোর জন্য কি কোনও জোট রয়েছে?

    কিন্তু সেই প্রশ্নে যে প্যাটার্নটি মোকাবেলা করা হচ্ছে তা কিছুটা সহজ। এই প্রশ্নের মধ্যে যে ধরণের ধরণের আচরণ করা হচ্ছে তা দেখানোর উদাহরণ দেওয়ার জন্য, দয়া করে নীচের পৃষ্ঠায় যান:

    আইসিইউ কোলেশন ডেমো

    "সেটিংস" এর অধীনে, "সাংখ্যিক" বিকল্পটি "চালু" তে সেট করুন এবং অন্য সকলকে "ডিফল্ট" এ সেট করা উচিত। এর পরে, "বাছাই করুন" বোতামের ডানদিকে, "ডিফার্ফ শক্তি" এর বিকল্পটি চেক করুন এবং "বাছাই কী" এর বিকল্পটি পরীক্ষা করুন। তারপরে "ইনপুট" পাঠ্য অঞ্চলের আইটেমের তালিকাটি নীচের তালিকার সাথে প্রতিস্থাপন করুন:

    P12B22
    P7B18
    P12B3
    as456456hgjg6786867
    P7Bb19
    P7BA19
    P7BB19
    P007B18
    P7Bb20
    P7Bb19z23

    "বাছাই করুন" বোতামটি ক্লিক করুন। "আউটপুট" পাঠ্য অঞ্চলটি নিম্নলিখিতটি প্রদর্শন করা উচিত:

    as456456hgjg6786867
        29 4D 0F 7A EA C8 37 35 3B 35 0F 84 17 A7 0F 93 90 , 0D , , 0D .
    P7B18
        47 0F 09 2B 0F 14 , 08 , FD F1 , DC C5 DC 05 .
    P007B18
        47 0F 09 2B 0F 14 , 08 , FD F1 , DC C5 DC 05 .
    P7BA19
        47 0F 09 2B 29 0F 15 , 09 , FD FF 10 , DC C5 DC DC 05 .
    P7Bb19
        47 0F 09 2B 2B 0F 15 , 09 , FD F2 , DC C5 DC 06 .
    P7BB19
        47 0F 09 2B 2B 0F 15 , 09 , FD FF 10 , DC C5 DC DC 05 .
    P7Bb19z23
        47 0F 09 2B 2B 0F 15 5B 0F 19 , 0B , FD F4 , DC C5 DC 08 .
    P7Bb20
        47 0F 09 2B 2B 0F 16 , 09 , FD F2 , DC C5 DC 06 .
    P12B3
        47 0F 0E 2B 0F 05 , 08 , FD F1 , DC C5 DC 05 .
    P12B22
        47 0F 0E 2B 0F 18 , 08 , FD F1 , DC C5 DC 05 .

    দয়া করে নোট করুন যে বাছাই কীগুলি একাধিক ক্ষেত্রের কাঠামো, কমা দ্বারা পৃথক। প্রতিটি ক্ষেত্রকে স্বাধীনভাবে বাছাই করা দরকার, যাতে এসকিউএল সার্ভারে এটি প্রয়োগ করার প্রয়োজন হলে সমাধানের জন্য আরও একটি ছোট সমস্যা উপস্থাপন করা হয়।


** যদি ব্যবহারকারী-সংজ্ঞায়িত কার্যাদি ব্যবহার সম্পর্কে পারফরম্যান্স সম্পর্কে কোনও উদ্বেগ থাকে তবে দয়া করে নোট করুন যে প্রস্তাবিত পদ্ধতিগুলি সেগুলি নূন্যতম ব্যবহার করে। প্রকৃতপক্ষে, সাধারণ মানটি সংরক্ষণ করার মূল কারণটি ছিল প্রতিটি প্রশ্নের প্রতিটি সারি অনুযায়ী একটি ইউডিএফ কল করা এড়ানো। প্রাথমিক পদ্ধতির মধ্যে, ইউডিএফটির মান নির্ধারণ করতে ব্যবহৃত হয় SortColumnএবং এটি কেবল ট্রিগারটির মাধ্যমে INSERTএবং তার UPDATEমাধ্যমে করা হয়। সন্নিবেশ করা এবং আপডেট করার চেয়ে মান নির্বাচন করা অনেক বেশি সাধারণ এবং কিছু মান কখনই আপডেট হয় না। ধারাটিতে রেঞ্জ ফিল্টার SELECTব্যবহার করে এমন প্রতিটি ক্যোয়ারী অনুসারে, ইউডিএফকে রেঞ্জ_স্টার্ট এবং রেঞ্জ_এন্ড মানগুলির প্রতিটি সাধারণ মানের পেতে প্রতিটি সময় কেবল একবার প্রয়োজন হয়; ইউডিএফকে প্রতি সারি বলা হয় না।SortColumnWHERE

ইউডিটি সম্পর্কিত, ব্যবহারটি আসলে স্কেলার ইউডিএফ এর মতোই। অর্থ, সন্নিবেশ করানো এবং আপডেট করা প্রতিটি মানকে সেট করার জন্য প্রতি সারিতে একবার স্বাভাবিককরণের পদ্ধতিটিকে কল করে call তারপরে, স্বাভাবিককরণের পদ্ধতিটি প্রতিটি পরিসীমা_স্টার্ট এবং একটি পরিসীমা ফিল্টারে রেঞ্জ_ভ্যালু প্রতি কোয়েরি অনুসারে একবার কল করা হবে তবে প্রতি সারিতে নয়।

কোনও এসকিউএলসিআরআর ইউডিএফ-এ সম্পূর্ণরূপে স্বাভাবিককরণ পরিচালনার পক্ষে একটি বিষয় হ'ল এটি কোনও ডেটা অ্যাক্সেস করছে না এবং নির্বিচারবাদী, যদি এটি চিহ্নিত করা হয় IsDeterministic = true, তবে এটি সমান্তরাল পরিকল্পনায় অংশ নিতে পারে (যা আপনাকে সাহায্য করতে পারে INSERTএবং UPDATEপরিচালনা করতে পারে ) যেখানে একটি টি-এসকিউএল ইউডিএফ একটি সমান্তরাল পরিকল্পনা ব্যবহার হতে বাধা দেবে।

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