پرته له دې چې د تطبیق مخه ونیسي غلطۍ تشخیص کړئ
TRY ... د لیږد بیان په Transact- SQL کې کشف او ستاسو د ډیټابیس په غوښتن لیکونو کې د غلطو شرایطو سمبالول. دا بیان د ایسیل سرور سرور غلطی سمبالولو بنسټیز بنسټ دی او د پیاوړی ډیټابیس غوښتنلیکونو د پراختیا یوه مهمه برخه ده. TRY ... CATCH په SQL Server کې د 2008، Azure SQL ډیټابیس، Azure SQL Data Warehouse او موازي ډاټا ګودام څخه پیل کیږي.
TRY..CATCH پېژندل
TRY ... CATCH کار کوي چې تاسو ته اجازه درکوي چې د دوو ټرانسکیک-SQL بیاناتو مشخص کړئ: هغه څوک چې تاسو غواړئ "هڅه" او بل بل غواړئ چې "ګړندۍ" هر ډول غلطۍ کارولو لپاره وغواړئ. کله چې د ایس ایس ایل سرور یو TRY پیژني ... د بیان بیان، دا په فوري توګه هغه بیان پلي کوي چې په TRY کې شامل دي. که د TRY بیان په بريالیتوب سره ترسره شي، SQL Server ساده ده پر مخ ځي. که څه هم، که د TRY بیان یو غلطی رامنځته کړي، SQL Server د CATCH بیان په ډیره ګرمۍ سره د غلطۍ سمبالولو لپاره اجرا کوي.
لومړنۍ نخښه دا بڼه ترلاسه کوي:
BEGIN TRY {sql_statement | statement_block} پای پای ته ورسیږی [{sql_statement | statement_block}] پای پټه [ ]TRY ... CATCH مثال
دا د اسانه کار دی چې دا بیان د مثال په توګه وکارول شي. تصور وکړئ چې تاسو د بشري منابعو ډیټابیس مدیر یاست چې په هغه کې د "کارمندانو" په نامه یو میز شامل دی، ستاسو په سازمان کې د هر کارمندانو په اړه معلومات شامل دي. دا میز د انټرنټ کارمند ID نمبر د لومړني کیلي په توګه کاروي. تاسو ممکن هڅه وکړئ چې لاندې ډاټا په خپل ډاټابیس کې د نوي کارمندانو داخلولو لپاره وکارومئ:
د کارکوونکو کارول (ID، first_name، last_name، تمدید) VALUES (12497، 'مایک'، 'چاپل'، 4201)د عادي حالت الندې، دا بیان به د کارمندانو میز ته یو قطار اضافه کړي. که څه هم، که یو کارمند د 12497 ID سره دمخه لا دمخه د ډیټابیس کې موجود وي، قطار به د لومړني کلیدي خنډونو څخه سرغړونه کوي او نتیجه به یې په لاندې تېروتنه کې وي:
Msg 2627، لیول 14، د بهرنیو چارو 1، لین 1 د لومړني کلیدي خنډونو سرغړونه 'پیښ کارونکي_ید'. په 'ډبو کارمندانو' کې د دوتنې کیلي نه شي کولی. دا بیان فسخه شوی. پداسي حال کې چې دا غلطي تاسو ته هغه معلومات چمتو کوي چې تاسو یې د ستونزې حل کولو ته اړتیا لرئ، د هغې سره دوه مسلې شتون لري. لومړی، پیغام پیغام دی. پدې کې د غلطي کوډونو، د کرښې شمیرې او نور معلومات شامل دي چې اوسط کاروونکي ته غیر معقول دي. دوهم، او ترټولو مهم، دا د بیان بیان کولو المل ګرځي او کیدی شي د غوښتنلیک ټرایټ رامنځته کړي.
دا بدیل دا دی چې د TRY په اړه بیان بیان کړئ ... CATCH بیان، لکه څنګه چې لاندې ښودل شوی:
په دې مثال کې، کوم غلطی چې پیښ شوي وي د دواړو کاروونکو ته راپور ورکول کیږي چې د قوماندې او hr@foo.com بریښناليک پته لګوي. هغه غلطي چې د کاروونکي لاندې ښودل شوي دي لاندې دي:
تېروتنه: د لومړني کلیدي خنډونو سرغړونه 'PK_ کارونکي_ید'. په 'ډبو کارمندانو' کې د دوتنې کیلي نه شي کولی. ليکه ليکه شوه.تر ټولو مهمه، د تطبیق اجرا کول په عادي توګه دوام لري، پروګرامونکي ته اجازه ورکوي چې په غلطۍ سره غلطۍ اداره کړي. د TRY کارول ... د بیان بیان د حیرانتیا وړ لار ده چې په ساکستي ډول د ایسیل سرور سرور ډیټابیس په غوښتنلیکونو کې د پیښو غلطی کشف او سمبال کړي.
نور زده کړه
که تاسو غواړئ چې د جوړ شوي پوښتنو ژبه په اړه نور معلومات ترلاسه کړئ، د SQL پېژندنه پېژندنه ولولئ.