သိမ်းဆည်းထားလုပ်ထုံးလုပ်နည်းများအမြင့်စွမ်းဆောင်ရည်နှင့်လုံခြုံရေးကိုအကျိုးကျေးဇူးများကယ်ယူ
Microsoft SQL Server စီမံခန့်ခွဲလုပ်ကွက်သို့ transaction-SQL statement တွေကိုအုပ်စုဖွဲ့အားဖြင့်ဒေတာဘေ့စဖှံ့ဖွိုးတိုးတဖြစ်စဉ်ကိုရိုးရှင်းဖို့ stored procedure ယန္တရားပေးပါသည်။ stored procedures သူတို့ရိတ်ထိရောက်မှုနှင့်လုံခြုံရေးအကျိုးကျေးဇူးများကိုရှာတွေ့သူကိုအများဆုံး SQL Server developer များအားဖြင့်တန်ဖိုးထားကြသည်အချိန်အတွက်ရှေ့ပြေးရင်းနှီးမြှုပ်နှံမှုကောင်းစွာတန်ဖိုးရှိဖြစ်ကြသည်။
stored procedure အသုံးပြုခြင်း၏အကျိုးကျေးဇူးများ
အဘယ်ကြောင့်တစ်ဦး developer အသုံးပြုမှုလုပ်ထုံးလုပ်နည်းများသိမ်းဆည်းထားသင့်သနည်း
ဤတွင်ဒီနည်းပညာ၏တံခါးသော့ကိုအကြိုးခံစားခှငျ့နေသောခေါင်းစဉ်:
- Precompiled ကွပ်မျက်: SQL Server ကို ကွပ်မျက်အစီအစဉ် reutilizes တခါ, ပြီးတော့တစ်ဦးချင်းစီ stored procedure compiles ။ stored procedures ထပ်တလဲလဲဟုခေါ်ကြသည်တဲ့အခါဒီကြီးမားတဲ့စွမ်းဆောင်ရည်မြှင့်တင်ပေးမှု။
- လျှော့ချ client ကို / server ကိုအသွားအလာ: ကွန်ယက်ကို bandwidth ကိုသင့်ရဲ့ပတ်ဝန်းကျင်မှာရှိတဲ့စိုးရိမ်ပူပန်မှုဖြစ်ပါတယ်လျှင်သင် stored procedures wire ကိုကျော်မှတဆင့်ကူးစက်သောကြောင်းတစ်ခုတည်းလိုင်းမှရှည်လျားသော SQL queries များလျှော့ချနိုင်မသင်ယူဖို့ပျော်ရွှင်ဖြစ်လိမ့်မယ်။
- ထိရောက် code နဲ့ပရိုဂရမ်းမင်း abstraction ၏ပြန်သုံး: stored procedure မျိုးစုံအသုံးပြုသူများနှင့် client ကိုအစီအစဉ်များကိုအသုံးပြုသောနိုင်ပါသည်။ သင်တစ်ဦးစီစဉ်ထားထုံးစံ၌သူတို့ကိုအသုံးချလျှင်သင်ဖွံ့ဖြိုးတိုးတက်ရေးအတွက်သံသရာဒီထက်အချိန်ယူရှာတွေ့ပါလိမ့်မယ်။
- Enhanced လုံခြုံရေးထိန်းချုပ်မှု: သင်အသုံးပြုသူများကိုလွတ်လပ်စွာနောက်ခံစားပွဲပေါ်မှာခွင့်ပြုချက်တစ်ခု stored procedure execute မှခွင့်ပြုချက်ပေးသနားတော်မူနိုင်ပါတယ်။
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 |