SQL-tsjinner opslein Procedures

Bestjoere prosedueres leverje hege effisjinsje en feiligens foar foardielen

Microsoft SQL Server leveret de bewarre proseduere-meganisme om it ûntwikkelingsproses fan it database te ferienfâldigjen troch te agjen fan Transact-SQL-oanfongen yn beheare blokken. Stelere prosedueres binne wurdearre troch de measte SQL Server-ûntwikkelders dy't de effisjinsje en feiligens foar foardielen fine dy't se opnimme binne goed yn 'e tiid foar de ynset foar ynvestearring.

Benefisearjen fan spesjale prosedueres te brûken

Wêrom moat in ûntwikkelder bewarre prosedueres brûke?

Hjir binne de wichtige foardielen fan dizze technology:

Storere proseduren binne fergelykber mei brûkersfoarmige funksjes, mar binne der subtile ferskillen.

Struktuer

Storere proseduren binne fergelykber mei de konstruksjes dy't sjoen wurde yn oare programmingtalen.

Se akseptearje gegevens yn de foarm fan ynputparameters dy't spesifisearre binne op útfiering. Dizze ynputparameters (as útfierd) wurde brûkt yn 'e útfiering fan in searje oanfragen dy't in oantal resultaat produkt meitsje. Dit resultaat is weromjûn yn 't berikende omjouwing fia it gebrûk fan in recordset, outputparameters en in weromreis.

Dat kin lûd wêze as in mûle, mar jo fine dat jo opsleine prosedueres eins krekt ienfâldich binne.

Foarbyld

Litte wy nei in praktysk foarbyld sjen dy't oerienkomt mei de ynventaris fan tabel dy't oan 'e boaiem fan dizze side oanjûn is. Dizze ynformaasje wurdt aktualisearre yn echt, en depotmanagers stean stilend kontrolearje de nivo's fan bewarre produkten op har lager en beskikber foar ferfier. Yn it ferline sil elke manager fraachstikken laat wurde lykas de folgjende:

SELECT Product, Quantity
FROM Inventory
Wêr Warehouse = 'FL'

Dit soarge foar in effisjinte prestaasje by de SQL-tsjinner. Elke kear as in opslachmanager de opdracht útfierde, de database-tsjinner waard twongen om de query werom te kompilearjen en út it kratzen út te fieren. It ferplichte ek de warehouse manager om kennis fan SQL te krijen en passende tagongsrjochten om tagong te krijen ta de tabel-ynformaasje.

Ynstee dêrfan kin it proses fersterke wurde troch it gebrûk fan in bewarre proseduere. Hjir is de koade foar in proseduere dy't sp_GetInventory neamd wurdt dat it ynventarisearje opnimt foar in opjûne oplieding.

CREATE PROZEDING sp_GetInventory
@location varchar (10)
AS
SELECT Product, Quantity
FROM Inventory
Wêr Warehouse = @lokaasje

De lisinsje fan 'e Florida-warehierder kin dan tagong krije ta ynventarisaasjes by it útjaan fan it kommando:

EXECUTE sp_GetInventory 'FL'

De Warehouse Manager fan New York kin itselde bewarre proseduere brûke om tagong te krijen ta ynventarisaasje fan dit gebiet:

EXECUTE sp_GetInventory 'NY'

Ferantwurdlik is dit in ienfâldich foarbyld, mar de foardielen fan abstraksje kinne hjir sjoen wurde. De warehuzemanager hat net nedich om SQL te begripen of de ynderlike wurkjen fan 'e proseduere. Fanút in optredensperspektyf wurket de bewarre proseduere wûnders. De SQL-tsjinner makket in kear in útfieringsplan oan en ferwizearret it troch it ynstellen fan de passende parameter by útfiering.

No dat jo de foardielen fan bewarre prosedueres leard hawwe, komme der dan út en brûke se.

Besykje in pear foarbylden en mjit de leveringsferbetterings dy't berikt wurde - jo sille ferheard wurde!

Inventory Table

ID Produkt Warehouse Kwantiteit
142 Groene bannen NY 100
214 Peas FL 200
825 Nôt NY 140
512 Lima beannen NY 180
491 Tomaten FL 80
379 Watermelon FL 85