Skip to main content

TRY ব্যবহার করে ... SQL সার্ভার ত্রুটি পরিচালনা করতে ক্যাচ

MCSA অনুসন্ধান মাইক্রোসফট SQL সার্ভার 2012 পরীক্ষার 70 461: ডেমো চেষ্টা করুন ব্যবহার এবং ব্লক ক্যাচ (জুন 2025)

MCSA অনুসন্ধান মাইক্রোসফট SQL সার্ভার 2012 পরীক্ষার 70 461: ডেমো চেষ্টা করুন ব্যবহার এবং ব্লক ক্যাচ (জুন 2025)
Anonim

TRY … ট্র্যাক্ট-এসএলএল-এ ক্যাচ বিবৃতি ডাটাবেস অ্যাপ্লিকেশনগুলিতে ত্রুটির শর্ত সনাক্ত করে এবং পরিচালনা করে। এই বিবৃতিটি SQL সার্ভার ত্রুটির হ্যান্ডলিংয়ের ভিত্তিপ্রস্তর এবং শক্তিশালী ডেটাবেস অ্যাপ্লিকেশনগুলির উন্নয়ন করার একটি গুরুত্বপূর্ণ অংশ। চেষ্টা করুন … CATCH 2008 এর সাথে শুরু হওয়া এসকিউএল সার্ভারে প্রযোজ্য, আজুর এসকিউএল ডেটাবেস, আজুর এসকিউএল ডেটা গুদাম, এবং সমান্তরাল ডেটা গুদাম।

প্রবর্তন করা হচ্ছে … ক্যাচ

চেষ্টা করুন … CATCH আপনাকে দুটি ট্র্যাক্ট্যাক্ট-এসকিউএল বিবৃতিগুলি নির্দিষ্ট করার অনুমতি দিয়ে কাজ করে: আপনি যেটি "চেষ্টা" করতে চান এবং অন্যটি যে কোন ত্রুটিগুলি "ধরতে" ব্যবহার করতে ব্যবহার করতে চায়। যখন SQL সার্ভার একটি TRY সম্মুখীন হয় … ক্যাচ বিবৃতি, তা অবিলম্বে TRY ধারাটিতে অন্তর্ভুক্ত বিবৃতিটি কার্যকর করে। TRY স্টেটমেন্ট সফলভাবে কার্যকর হলে, SQL সার্ভার চলতে থাকে। যাইহোক, TRY বিবৃতি একটি ত্রুটি উত্পন্ন করে, SQL সার্ভারটি ত্রুটিপূর্ণভাবে পরিচালনা করার জন্য CATCH বিবৃতিটি কার্যকর করে।

মৌলিক সিনট্যাক্স এই ফর্ম নেয়:

BEGIN চেষ্টা করুন বিবৃতি ব্লক শেষ চেষ্টা করুনক্যাচ এসকিউএল বিবৃতি শেষ ক্যাচ ;

চেষ্টা করুন … উদাহরণ উদাহরণ

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

কর্মীদের মধ্যে প্রবেশ করান (আইডি, first_name, last_name, এক্সটেনশান)VALUES (12497, 'মাইক', 'চ্যাপেল', 4201)

স্বাভাবিক পরিস্থিতিতে, এই বিবৃতি কর্মচারী টেবিলে একটি সারি যোগ করা হবে। যাইহোক, আইডি 12497 সহ একজন কর্মচারী ইতিমধ্যে ডাটাবেসের মধ্যে উপস্থিত থাকলে, সারি সন্নিবেশ করা প্রাথমিক কী সীমাবদ্ধতা লঙ্ঘন করে এবং নিম্নলিখিত ত্রুটির ফলস্বরূপ:

বার্তা 2627, স্তর 14, রাজ্য 1, লাইন 1প্রাথমিক কী সীমাবদ্ধতা 'PK_employee_id' লঙ্ঘন। বস্তু 'dbo.employees' মধ্যে সদৃশ কী সন্নিবেশ করা যাবে না।বিবৃতিতে বাতিল করা হয়েছে।

এই ত্রুটিটি আপনাকে সমস্যাটির সমস্যা সমাধানের জন্য প্রয়োজনীয় তথ্য সরবরাহ করে, এটির সাথে দুটি সমস্যা রয়েছে। প্রথম, বার্তা রহস্যজনক। এতে ত্রুটিযুক্ত কোড, লাইন সংখ্যা এবং অন্যান্য ব্যবহারকারীর তথ্য রয়েছে যা গড় ব্যবহারকারীকে বোঝা যায় না। দ্বিতীয়ত, এবং আরো গুরুত্বপূর্ণভাবে, এটি বিবৃতিটি বাতিল করে দেয় এবং এটি একটি অ্যাপ্লিকেশন ক্র্যাশ হতে পারে।বিকল্পটি হল TRY এ বিবৃতি মোড়ানো … ক্যাচ বিবৃতি, যেমন এখানে দেখানো হয়েছে:

BEGIN চেষ্টা করুনকর্মীদের মধ্যে প্রবেশ করান (আইডি, first_name, last_name, এক্সটেনশান)VALUES (12497, 'মাইক', 'চ্যাপেল', 4201)শেষ চেষ্টা করুনক্যাচমুদ্রণ 'ত্রুটি:' + ERROR_MESSAGE ();EXEC msdb.dbo.sp_send_dbmail@profile_name = 'কর্মচারী মেল',@recipients = '[email protected]',@body = 'একটি নতুন কর্মচারী রেকর্ড তৈরিতে একটি ত্রুটি ঘটেছে।',@ subject = 'কর্মচারী আইডি সদৃশ ত্রুটি';শেষ ক্যাচ

এই উদাহরণে, যে কোনো ত্রুটি হ'ল ব্যবহারকারীটি কমান্ডটি এবং [email protected] ই-মেইল ঠিকানা কার্যকরকারী উভয়কেই জানায়। ব্যবহারকারী দেখানো ত্রুটি হল:

ত্রুটি: প্রাথমিক কী সীমাবদ্ধতা 'PK_employee_id' লঙ্ঘন। বস্তু 'dbo.employees' মধ্যে সদৃশ কী সন্নিবেশ করা যাবে না।মেইল সারিবদ্ধ।

অ্যাপ্লিকেশন এক্সিকিউশন সাধারণত চলতে থাকে, প্রোগ্রামার ত্রুটি ত্রুটি হ্যান্ডেল করার অনুমতি দেয়। TRY ব্যবহার করুন … CATCH বিবৃতিটি সক্রিয়ভাবে সনাক্ত এবং SQL সার্ভার ডাটাবেস অ্যাপ্লিকেশনগুলিতে হওয়া ত্রুটিগুলি হ্যান্ডেল করার একটি মার্জিত উপায়।

আরো শেখা

আপনি যদি স্ট্রাকচার্ড কোয়েরি ভাষা সম্পর্কে আরো জানতে চান তবে SQL এর পরিচিতি পরীক্ষা করুন।