SQL Server stored procedure

သိမ်းဆည်းထားလုပ်ထုံးလုပ်နည်းများအမြင့်စွမ်းဆောင်ရည်နှင့်လုံခြုံရေးကိုအကျိုးကျေးဇူးများကယ်ယူ

Microsoft SQL Server စီမံခန့်ခွဲလုပ်ကွက်သို့ transaction-SQL statement တွေကိုအုပ်စုဖွဲ့အားဖြင့်ဒေတာဘေ့စဖှံ့ဖွိုးတိုးတဖြစ်စဉ်ကိုရိုးရှင်းဖို့ stored procedure ယန္တရားပေးပါသည်။ stored procedures သူတို့ရိတ်ထိရောက်မှုနှင့်လုံခြုံရေးအကျိုးကျေးဇူးများကိုရှာတွေ့သူကိုအများဆုံး SQL Server developer များအားဖြင့်တန်ဖိုးထားကြသည်အချိန်အတွက်ရှေ့ပြေးရင်းနှီးမြှုပ်နှံမှုကောင်းစွာတန်ဖိုးရှိဖြစ်ကြသည်။

stored procedure အသုံးပြုခြင်း၏အကျိုးကျေးဇူးများ

အဘယ်ကြောင့်တစ်ဦး developer အသုံးပြုမှုလုပ်ထုံးလုပ်နည်းများသိမ်းဆည်းထားသင့်သနည်း

ဤတွင်ဒီနည်းပညာ၏တံခါးသော့ကိုအကြိုးခံစားခှငျ့နေသောခေါင်းစဉ်:

stored procedures အသုံးပြုသူ-defined လုပ်ဆောင်ချက်များကိုဆင်တူပေမယ့်မသိမသာကွဲပြားခြားနားမှုရှိပါတယ်။

ဖွဲ့စည်းပုံ

သိမ်းဆည်းထားလုပ်ထုံးလုပ်နည်းများသည်အခြား programming ကိုဘာသာစကားများတွင်တွေ့မြင်ဆောက်လုပ်ရေးဆင်တူသည်။

သူတို့ကကွပ်မျက်အချိန်တွင်သတ်မှတ်ထားသောဖြစ်ကြောင်း input ကို parameters တွေကို၏ပုံစံအတွက် data တွေကိုလက်ခံပါ။ ဤရွေ့ကား input ကို parameters တွေကို (အကောင်အထည်ဖော်လျှင်) အချို့သောရလဒ်ထုတ်လုပ်ကြောင်းထုတ်ပြန်ချက်များတစ်စီးရီး၏ကွပ်မျက်အတွက်အသုံးပြုသွားမည်နေကြသည်။ ဤရလဒ်တစ် recordset, output ကို parameters တွေကိုနှင့်တစ်ဦးအပြန်ကုဒ်၏အသုံးပြုမှုကိုကနေတဆင့်ခေါ်ဆိုမှုပတ်ဝန်းကျင်သို့ပြန်ရောက်သည်။

တစ်လုတ်ကဲ့သို့မြည်စေခြင်းငှါ, ဒါပေမယ့်သင်ဟာ Stored Procedure ကိုအမှန်တကယ်အတော်လေးရိုးရှင်းတဲ့ဖြစ်ကြောင်းတွေ့ပါလိမ့်မယ်။

နမူနာ

ဒီစာမျက်နှာ၏အောက်ခြေတွင်ပြစားပွဲပေါ်မှာအမည်ရှိစာရင်းနှင့်ဆက်စပ်သည့်နေတဲ့လက်တွေ့ကျတဲ့ဥပမာတစ်ခုကိုကြည့်ကြရအောင်။ ဤအချက်အလက်အစစ်အမှန်အချိန်အတွက် updated သည်, ကုန်လှောင်ရုံမန်နေဂျာအဆက်မပြတ်သူတို့ရဲ့ဂိုဒေါင်မှာသိုလှောင်ထားထုတ်ကုန်များအဆင့်ဆင့်စစ်ဆေးနေခြင်းနှင့်တင်ပို့များအတွက်ရရှိနိုင်ကြသည်။ အတိတ်ကာလများတွင်တစ်ဦးချင်းစီမန်နေဂျာအောက်ပါဆင်တူမေးမြန်းချက်ကို run လိမ့်မယ်:

ကုန်ပစ္စည်း, အရေအတွက် SELECT
Inventory FROM မှ
နေရာဂိုဒေါင် = 'FL' '

ဒါက SQL Server မှာမတတ်နိုင်သောစွမ်းဆောင်ရည်အတွက်ရလဒ်။ ဂိုဒေါင်တစ်ခုမန်နေဂျာကစုံစမ်းမှုကွပ်မျက်ခံရတစ်ခုချင်းစီကိုအချိန်, ထိုဒေတာဘေ့စဆာဗာစုံစမ်းမှု Windows စနစ်တွင်နှင့်ခြစ်ရာကနေ execute ရန်အတင်းအကျပ်ခိုင်းစေခဲ့သည်။ ဒါဟာအစစားပွဲသတင်းအချက်အလက်ဝင်ရောက်ဖို့ SQL နှင့်သင့်လျော်သောခွင့်ပြုချက်၏အသိပညာရှိသည်ဖို့ဂိုဒေါင်မန်နေဂျာလိုအပ်သည်။

အဲဒီအစား, လုပ်ငန်းစဉ်တစ် stored procedure များအသုံးပြုခြင်းမှတဆင့်ရိုးရှင်းသောနိုင်ပါသည်။ ဤတွင်ပေးထားသောဂိုဒေါင်များအတွက်စာရင်းအဆင့်ဆင့်ရယူကြောင်း sp_GetInventory လို့ခေါ်တဲ့လုပ်ထုံးလုပ်နည်းများအတွက်ကုဒ်ပါပဲ။

လုပျထုံးလုပျနညျး sp_GetInventory CREATE
@location varchar (10)
AS
ကုန်ပစ္စည်း, အရေအတွက် SELECT
Inventory FROM မှ
နေရာဂိုဒေါင် = @location

အဆိုပါဖလော်ရီဒါဂိုဒေါင်မန်နေဂျာထို့နောက် command ကိုထုတ်ပေးနေဖြင့်စာရင်းအဆင့်ဆင့်ဝင်ရောက်ကြည့်ရှုနိုင်သည်

sp_GetInventory '' FL '' execute

The New York ဂိုဒေါင်မန်နေဂျာအဲဒီဒေသမှာရဲ့စာရင်းဝင်ရောက်ဖို့အတူတူ stored procedure ကိုသုံးနိုင်သည်:

sp_GetInventory '' နယူးယော့ '' execute

ခွင့်ပြု, ဒီရိုးရှင်းတဲ့ဥပမာဖြစ်တယ်, ဒါပေမဲ့ abstraction ၏အကျိုးကျေးဇူးများကဒီမှာတွေ့မြင်နိုင်ပါသည်။ အဆိုပါဂိုဒေါင်မန်နေဂျာ SQL ဒါမှမဟုတ်လုပ်ထုံးလုပ်နည်းများ၏အတွင်းစိတ်ပြုပြင်ခြင်းကိုနားလည်သဘောပေါက်ရန်မလိုအပ်ပါဘူး။ တစ်ဦးစွမ်းဆောင်ရည်ရှုထောင့်ကနေ, အ stored procedure အံ့ဘွယ်သောအမှုအလုပ်ဖြစ်တယ်။ အဆိုပါ SQL Server ကိုတခါကာသေဒဏ်စီရင်အစီအစဉ်ကိုဖန်တီးပေးပြီးတော့သေဒဏ်စီရင်အချိန်တွင်သင့်လျော်သော parameters တွေကိုအတွက် plugging က reutilizes ။

အခုဆိုရင်သင်ဟာ Stored Procedure ၏အကျိုးကျေးဇူးများလေ့လာသင်ယူသွားပါပြီ, ထွက်ရှိရသူတို့ကိုအသုံးပြုပါ။

အနည်းငယ်ဥပမာကြိုးစားပါနှင့်အောင်မြင်-တို့အတွက် memory အံ့သြခြင်းကိုခံရစွမ်းဆောင်ရည်အဆင့်မြှင့်တင်မှုများကိုတိုင်းတာ!

စာရင်းဇယား

ID ကို ကုန်ပစ္စည်း ကုနျလှောငျရုံ အရေအတွက်
142 ပဲစိမ်း နယူးယော့ 100 အ
214 ပဲစေ့တွေဟာ FL 200
825 ပြောင်းဖူး နယူးယော့ 140
512 လီမာပဲမျိုးစုံ နယူးယော့ 180
491 ခရမ်းချဉ်သီး FL 80
379 ဖရဲသီး FL 85