SQL Server Stored Procedures

Mga Naka-imbak na Mga Programa Maghatid ng Mga Benepisyo sa Mataas na Kahusayan at Seguridad

Ang Microsoft SQL Server ay nagbibigay ng naka-imbak na mekanismo ng pamamaraan upang gawing simple ang proseso ng pag-unlad ng database sa pamamagitan ng pagpapangkat ng mga pahayag ng Transact-SQL sa mga mapapamahalaang mga bloke. Naka-imbak na mga pamamaraan ay pinapahalagahan ng karamihan sa mga developer ng SQL Server na nakakakita ng mga benepisyo at mga benepisyo sa seguridad na kanilang aanihin ay nagkakahalaga ng upfront investment sa oras.

Benepisyo ng Paggamit ng Naka-imbak na Pamamaraan

Bakit dapat gamitin ng developer ang mga nakaimbak na pamamaraan?

Narito ang mga pangunahing benepisyo ng teknolohiyang ito:

Ang mga naka-imbak na pamamaraan ay katulad ng mga function na tinukoy ng gumagamit, ngunit may mga banayad na pagkakaiba.

Istraktura

Ang mga nakaimbak na pamamaraan ay katulad ng mga construct na makikita sa iba pang mga programming language.

Tinatanggap nila ang data sa anyo ng mga parameter ng input na tinukoy sa oras ng pagpapatupad. Ang mga parameter ng input na ito (kung ipinatupad) ay ginagamit sa pagpapatupad ng isang serye ng mga pahayag na gumagawa ng ilang resulta. Ang resultang ito ay ibabalik sa kapaligiran ng pagtawag sa pamamagitan ng paggamit ng isang recordset, mga parameter ng output at isang return code.

Na maaaring tunog tulad ng isang katiting, ngunit makikita mo na ang naka-imbak na mga pamamaraan ay talagang medyo simple.

Halimbawa

Tingnan natin ang isang praktikal na halimbawa na may kaugnayan sa mesa na may pangalan na imbentaryo na ipinapakita sa ibaba ng pahinang ito. Ang impormasyon na ito ay na-update sa real time, at ang mga tagapangasiwa ng warehouse ay patuloy na sumusuri sa mga antas ng mga produkto na nakaimbak sa kanilang warehouse at magagamit para sa kargamento. Sa nakaraan, ang bawat tagapamahala ay tatakbo sa mga query katulad ng sumusunod:

PUMILI NG Produkto, Dami
MULA SA Imbentaryo
WHERE Warehouse = 'FL'

Nagresulta ito sa hindi mahusay na pagganap sa SQL Server. Sa bawat oras na isinagawa ng isang tagapangasiwa ng warehouse ang query, ang server ng database ay sapilitang muling mag-recompile ng query at isakatuparan ito mula sa simula. Kinailangan din nito ang manager ng warehouse na magkaroon ng kaalaman sa SQL at naaangkop na mga pahintulot upang ma-access ang impormasyon ng talahanayan.

Sa halip, ang proseso ay maaaring gawing simple sa pamamagitan ng paggamit ng isang nakaimbak na pamamaraan. Narito ang code para sa isang pamamaraan na tinatawag na sp_GetInventory na nakukuha ang mga antas ng imbentaryo para sa isang binigay na bodega.

Gumawa ng sp_GetInventory
@location varchar (10)
AS
PUMILI NG Produkto, Dami
MULA SA Imbentaryo
SAAN Warehouse = @location

Ang tagapamahala ng warehouse ng Florida ay maaaring mag-access sa mga antas ng imbentaryo sa pamamagitan ng pagbibigay ng utos:

Execute sp_GetInventory 'FL'

Ang manager ng bodega ng New York ay maaaring gumamit ng parehong pamamaraan na naka-imbak upang ma-access ang imbentaryo ng lugar na iyon:

Execute sp_GetInventory 'NY'

Totoo, ito ay isang simpleng halimbawa, ngunit ang mga benepisyo ng abstraction ay makikita dito. Ang manager ng warehouse ay hindi kailangang maunawaan ang SQL o ang mga panloob na gawain ng pamamaraan. Mula sa isang perspektibo sa pagganap, ang nakaimbak na pamamaraan ay gumagawa ng mga kababalaghan. Ang SQL Server ay lumilikha ng isang plano ng pagpapatupad ng isang beses at pagkatapos ay reutilizes ito sa pamamagitan ng plugging sa naaangkop na mga parameter sa oras ng pagpapatupad.

Ngayon na natutunan mo ang mga benepisyo ng mga nakaimbak na pamamaraan, lumabas doon at gamitin ang mga ito.

Subukan ang ilang mga halimbawa at sukatin ang mga pagpapahusay sa pagganap na nakamit-ikaw ay nagtaka nang labis!

Talaan ng Imbentaryo

ID Produkto Bodega Dami
142 Green beans NY 100
214 Mga gisantes FL 200
825 Mais NY 140
512 Lima beans NY 180
491 Mga kamatis FL 80
379 Pakwan FL 85