SQL Server gespeichert Prozeduren

Gespeicherte Prozeduren liwweren héich Effizienz an Sécherheet Virdeeler

Microsoft SQL Server liefert de gespäichte Prozedur Mechanismus fir de Prozess vun der Datebank ze vereinfachen andeems Dir Transakt-SQL-Aussoen a verwaltbar Blocen gruppéiert. Virgeschnidde Prozeduren sinn vun de meescht SQL Server-Entwéckler geschätzt, déi d'Effizienz an d'Sécherheet profitéieren déi se ernimmen, sinn d'Wäert vun der Investitioun an d'Zäit.

Virdeeler vun de gespäicherten Prozeduren benotzt

Firwat soll en Entwéckler gespäichert Prozeduren benotzen?

Hei sinn d'Haaptdeeler vun dëser Technologie:

Virgeschnidde Prozeduren si fir user definéiert Funktiounen ähnlech, awer et sinn subtile Differenzen.

Struktur

Virgeschnidde Prozeduren sinn ähnlech wéi d'Konstrukt déi an anere Programmiersprachen gesi ginn.

Si akzeptéieren d'Daten an d'Form vun Inputparameter déi an der Ausféierung Zäit uginn. Dës Input Parameter (wann se implementéiert sinn) ginn an der Ausféierung vun enger Rei vun Aussoen benotzt, déi e Resultat produzéieren. Dëst Resultat ass zréck op d'berufflech Ëmwelt duerch d'Verwäertung vun engem Recordset, Ausgabparameter an e Code return.

Dat kléngt gär wéi e Mound, awer Dir wäert dat gespaarten Prozeduren eigentlech ganz einfach sinn.

Beispill

Loosst eis e praktesche Beispill bezuelen mat der Tabell genannt Inventar, déi am ieweschten Deel vun dëser Säit agefouert gëtt. Dës Informatioun gëtt an Echtzäit aktualiséiert an d'Wuere Manager kontrolléiere permanent d'Niveaue vu Produkter op hirem Lager opzehuelen an ze liwweren. An der Vergaangenheet laaft all Manager Manager Ufroen ähnlech wéi déi folgend.

SELECT Produkt, Quantitéit
FROM Inventar
WOU WAREHAUS = FL

Dëst huet zu oneffiziente Performance am SQL Server gemaach. All Kéier wann e Wärtermanager d'Abfrage gemaach huet, ass de Datebankervermëttler gezwongen, d'Abfrage ze kompenséieren an aus dem Zuch auszeféieren. Et erfuerdert och de Wagermanager fir SQL-Kenntnisser a passende Permissiounen fir de Table Informatioun ze kréien.

Amplaz kann de Prozess vereinfacht ginn duerch d'Notzung vun enger gespäicherten Prozedur. Hei ass de Code fir eng Prozedur déi de sp_GetInventory genannt gëtt, déi d'Inventaireniveau fir e bestëmmte Lagerhaus hëlt.

CREATED PROCEDURE sp_GetInventory
@Location Varchar (10)
AS
SELECT Produkt, Quantitéit
FROM Inventar
WOU WAREHAUS = @Location

De Florida Wärterveräin kann dann den Inventärniveau erreechen andeems de Kommando ausgitt:

EXECUTE sp_GetInventory 'FL'

De New York Wahllager kann d'selwecht gelagert Prozedur benotze fir Zougang zu dësem Gebitt Zougrëff ze kréien:

EXECUTE sp_GetInventory 'NY'

Gewëss, dat ass en einfacht Beispill, awer d'Virdeeler vun der Ofstraktioun kënnt Dir hei gesinn. Den Departmanager brauch net SQL oder d'Ënnerdeelung vun der Prozedur ze verstoen. Vun enger Performanceperspektioun funktionéiert déi gespäichert Prozedur wonner. De SQL Server erstallt en Executiounsplan erof an dann setzt dat ze maachen, andeems d'passende Parameteren bei der Ausféierung Zäit plangen.

Elo, datt Dir d'Virdeeler vun de gespäicherten Prozeduren geléiert hutt, raus aus a benotze se.

Probéiert e puer Beispiller a méigleche Verännerungen ze realiséieren - Dir wäert iwwerrascht sinn!

Inventaire Dësch

ID Produkt Warehouse Quantitéit
142 Gréng Bounen NY 100
214 Peas FL 200
825 Mais NY 140
512 Lima Bounen NY 180
491 Tomaten FL 80
379 Waassermeloun FL 85