SQL Server အတွက် SQL Stored လုပ်ထုံးလုပ်နည်းများ
Stored Procedure ဆိုတာ ဘာလဲ။
သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းသည် သင်သိမ်းဆည်းနိုင်သော ပြင်ဆင်ထားသည့် SQL ကုဒ်တစ်ခုဖြစ်သောကြောင့် ကုဒ်ကို ထပ်ခါထပ်ခါ ပြန်သုံးနိုင်သည်။
ထို့ကြောင့် သင့်တွင် SQL query တစ်ခု ထပ်ခါထပ်ခါ ရေးနေပါက၊ ၎င်းကို သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းအဖြစ် သိမ်းဆည်းပြီး ၎င်းကို execute လုပ်ရန် ၎င်းကို ခေါ်လိုက်ပါ။
သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းသည် ကျော်လွန်သွားသော ကန့်သတ်ဘောင်တန်ဖိုး(များ)အပေါ် အခြေခံ၍ လုပ်ဆောင်နိုင်စေရန် ဘောင်များကို သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းတစ်ခုသို့လည်း သင်ဖြတ်သန်းနိုင်သည်။
Stored Procedure Syntax
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
Stored Procedure ကို လုပ်ဆောင်ပါ။
EXEC procedure_name;
ဒီမိုဒေတာဘေ့စ်
အောက်တွင်ဖော်ပြထားသည်မှာ Northwind နမူနာဒေတာဘေ့စ်ရှိ "ဖောက်သည်များ" ဇယားမှ ရွေးချယ်မှုတစ်ခုဖြစ်သည်။
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းနမူနာ
အောက်ပါ SQL ကြေငြာချက်သည် "SelectAllCustomers" ဟုခေါ်သော သိမ်းဆည်းထားသောလုပ်ငန်းစဉ်ကို "ဖောက်သည်များ" ဇယားမှ မှတ်တမ်းအားလုံးကို ရွေးချယ်ပေးသည်-
ဥပမာ
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
အထက်ဖော်ပြပါအတိုင်း သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းကို လုပ်ဆောင်ပါ။
ဥပမာ
EXEC SelectAllCustomers;
ကန့်သတ်ချက်တစ်ခုဖြင့် သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်း
အောက်ပါ SQL ကြေငြာချက်သည် "ဖောက်သည်များ" ဇယားမှ ဖောက်သည်များအား သီးခြားမြို့တစ်ခုမှ ဝယ်ယူသူများကို ရွေးချယ်သည့် သိမ်းဆည်းသည့်လုပ်ငန်းစဉ်ကို ဖန်တီးသည်-
ဥပမာ
CREATE PROCEDURE SelectAllCustomers
@City nvarchar(30)
AS
SELECT * FROM Customers WHERE
City = @City
GO;
အထက်ဖော်ပြပါအတိုင်း သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းကို လုပ်ဆောင်ပါ။
ဥပမာ
EXEC SelectAllCustomers @City = 'London';
ဘောင်များစွာဖြင့် သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်း
ဘောင်များစွာကို သတ်မှတ်ခြင်းသည် အလွန်လွယ်ကူသည်။ အောက်တွင်ပြထားသည့်အတိုင်း ကော်မာဖြင့် ခြားထားသော ပါရာမီတာတစ်ခုစီနှင့် ဒေတာအမျိုးအစားကို ဖော်ပြပါ။
အောက်ပါ SQL ကြေငြာချက်သည် "ဖောက်သည်များ" ဇယားမှ သီးခြား PostalCode ဖြင့် ဝယ်ယူသူများအား သီးခြားမြို့တစ်ခုမှ ဝယ်ယူသူများကို ရွေးချယ်သည့် သိမ်းဆည်းသည့်လုပ်ငန်းစဉ်ကို ဖန်တီးသည်-
ဥပမာ
CREATE PROCEDURE SelectAllCustomers
@City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE
City = @City AND PostalCode = @PostalCode
GO;
အထက်ဖော်ပြပါအတိုင်း သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းကို လုပ်ဆောင်ပါ။
ဥပမာ
EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';