SQL Server Stored Procedures

I Proceduti Guardianu Pettendu Amenelli D'Efficiency è Seguretat

U Server di Microsoft SQL furnisce u mecanismu di u procedimentu emmagatzito per simplificà u prucessu di sviluppu di basa di dati aggruppendu i Studi Transact-SQL in bloconi manighjate. I prudutti maghjuri sò apprezzati da a maiò parte di i desarrollatori di SQL Server chì trovani l'efficienza è i prublemi di sicurezza crescenu sò vale d'aversità in u inversu in u tempu.

Beneficii di l'Ughjettu pruduttu

Perchè chì un prudutore utilizate i prucedure guardate?

Eccu i benefici craviu di sta tecnulugia:

I Procuri guardatu sò simili à funzioni definitu per l'usu, ma sò parechje sali.

Struttura

I prudutti stati sò parechji simili à i constructi vistuti in altre lingua di prugrammazione.

Aduprate micca dati in a forma di paràmetri di ingressu chì sò specificate in u tempu di esse in esecutà. Queste paràmetri di ingressu (s'e implementatu) sò utilizzati in l'esekzione di una seria di stimi chì pruducenu qualchì risultatu. Stu risultatu hè tornatu à l'ambienti di cundizzione à l'utilizazione di un altru registratu, paràmetri di vendetta è un codice di ritornu.

Chì pò esse cum'è un bocu, ma ùn trovi chì i prucessi guardianu sò assai simplici.

Esempiu

Fighjemu un veru esempiu praticali relative à a tavula chjamata inventariu ammustrata à u fondu di sta pagina. Questa informazione hè aghjurnata in tempu reale, è i gestiti di i magazzini cuntene i cuntenuti constantemente i niveli di prudutti guardate in u so magazinu è dispunibili per u trasportu. In u passatu, ogni amministratore curriri dumande simili simili à i seguenti:

Select Product, Quantità
FROM Inventory
WHERE Warehouse = 'FL'

Questu resulte un rendimentu inefficientu à u Server di SQL. Ogni vota un amministratore di i maghiori aduprò a quistione, u servitore di basa di basa hè stata obligata di recompile a dumanda è eseguite da scarrafiate. Havi abbisognu ancu u gestione di u magazzinu per avè u sapidu di SQL è i permessi approprjati per accede à l'infurmazione nantu à a table.

Invece, u prucessu pò esse simplificatu à traversu l'usu di un prucedimentu in maghju. Eccu u codice per un prucessu chjamatu sp_GetInventory chì ripruvià i niveli di inventariu per un magiu donu.

CREATE PROCEDURE sp_GetInventory
@location varchar (10)
AS
Select Product, Quantità
FROM Inventory
WHERE Warehouse = @ loca

U Manager di magazzini di a Florida puderà accede à accede à l'inventariu per issu issu l'òrdine:

EXECUTE sp_GetInventory 'FL'

U ghjocu di u magazinu di u New York pudete aduprà a stessa prucedura in maghjina per accede à l'inventariu di l'area:

EXECUTE sp_GetInventory 'NY'

Conceda, questu hè un esemplariu simplice, ma i benefizii di l'abstrazzioni si pò vedà quì. U gestione di u magazzini ùn hà micca bisognu di cumprà SQL o u travagliu internu di u prucedimentu. Da una perspettiva di u prugrammu, a prucedimentu guariscutu travaglia meraviglie. U Server di SQL creeghja un pianu di esigenza è poi a reutilizeghja cù l'incruciate in i paràmetri adattati à u tempu d'esecutesi.

Avà chì avete amparatu u beneficu di i prucessi guardianu, sia ghjuntu è utilizate.

Pruvate uni pochi esempi è misurà e rinfurzà a realizazione achieved-vi sarà maravigliatu!

Cartona di inventariu

ID Pruduttu Warehouse Quantità
142 Fasgioli NY 100
214 I pezzi FL 200
825 Corn NY 140
512 Fasgioli di Lima NY 180
491 I pumati FL 80
379 Sandia FL 85