Stored procedures zijn uitvoerbare database- objecten samengesteld uit meerdere SQL-instructies . Ze helpen bij het vereenvoudigen van interactie tussen de database en de eindgebruiker die onvoldoende expertise om complexe SQL queries schrijven heeft. U kunt gebruik maken van opgeslagen procedures voor het verlenen van toegang , data validatie en vereenvoudigen van complexe verwerking die meerdere SQL-instructies vereist . Opgeslagen procedures kunnen invoerparameters , return waarden te accepteren en te implementeren looping logica alsof , terwijl en case-statements . Wat je nodig hebt Microsoft SQL Server Query Analyzer Toon Meer Aanwijzingen 1 Maak een opgeslagen procedure met behulp van de CREATE PROCEDURE procedurename syntax . Voer de volgende verklaringen aan een opgeslagen procedure genaamd sporderscopy dat de inhoud van de tabel Orders in OrdersCopy tabel kopieert creëren . CREATE PROCEDURE sporderscopy AS SELECT * in OrdersCopy < br > FROM Orders de bovenstaande procedure wordt een kopie van de tabel orders te creëren . U kunt ook parameters , hercompileer voegen en voeg encryptie met de create procedure statement . De parameters helpen om waarden in de procedure die nodig zijn voor het gewenste resultaat te accepteren . De output-parameters worden gebruikt om de waarden die worden doorgegeven naar een ander programma op te slaan . Optionele parameters hebben een standaard waarde en hoeft een invoerwaarde niet nodig . De hercompileer optie maakt het systeem te compileren de procedure elke keer dat het wordt uitgevoerd . De optie versleuteling kan de eindgebruiker tot het eindresultaat te krijgen zonder het bekijken van de code . Stored procedures 2 kunt invoeren waarden te accepteren en geven terug uitgangswaarden naar het programma van de opgeslagen procedures roepen door te verklaren dat de parameters . De input parameters kunnen optioneel zijn , als je een standaard waarde aan hen toe te wijzen tijdens het maken van de procedure . De output-parameters worden gedefinieerd door het specificeren van de keyword OUTPUT . CREATE PROCEDURE sporderscount @ total_order geld OUTPUT , @ order_date smalldatetime = NULL , @ customer_var varchar ( 40 ) = ' % ' AS SELECT @ total_order = SOM ( total_order ) op FROM opdrachten JOIN klanten OP orders.orderID = customers.orderID WHERE ( ORDER_DATE > = @ date_var ) op eN ( CustomerName zoals @ customer_var ) op De bovenstaande procedure heeft twee invoerparameters en rendement een parameter uitgang . De uitvoer parameter wordt geïdentificeerd door de OUTPUT trefwoord . 3 uitvoeren of uitvoeren van een procedure met behulp van de EXEC procedurename syntax . Voer de volgende SQL-statements om de opgeslagen procedure uit te voeren : DECLARE @ mytotalorder geld EXEC spordercount @ mytotalorder = @ total_order uitgang , '2010 -03- 21 ' , ' D % ' < br > verklaren instructie maakt een output variabele die de waarde van de parameter output zal slaan in de opgeslagen procedure . De uit te voeren statement wordt gebruikt om de opgeslagen procedure uit te voeren. Aangezien zowel de input parameters standaardwaarden hebben , moeten ze geen waarde worden toegekend tijdens het uitvoeren van de procedure Return waarden 4 van opgeslagen procedures door toevoeging van de volgende verklaring : . RETURN @ order_count de bovenstaande verklaring in een opgeslagen procedure zal een waarde retourneren en bewaar deze op een variabele in het programma aanroepen van de procedure . U kunt gebruik maken van een parameter terugkeer of de output parameter om terug te gaan van een waarde aan het aanroepende programma . In de bovenstaande verklaring , zal de procedure het aantal rijen in de tabel bestellingen terug . 5 Gebruik de ALTER PROCEDURE procedurename opdracht om de opgeslagen procedure te wijzigen . De syntaxis is vergelijkbaar met de create procedure . Voer de volgende instructies om de procedure spordercount veranderen om een andere variabele staat toe te voegen . De opgeslagen procedure zal de rijen op basis van de stand van de woonplaats in plaats van de naam beperken . ALTER PROCEDURE sporderscount @ order_state varchar ( 30 ) = NULL , @ total_order geld OUTPUT , Verenigde @ order_date smalldatetime = NULL AS SELECT @ total_order = som ( total_order ) op FROM opdrachten JOIN klanten OP = orders.orderID customers.orderID WHERE ( ORDER_DATE > = @ date_var ) op EN ( CustomerState = @ order_state ) 6 Verwijder de opgeslagen procedure met behulp van de DROP pROCEDURE procedurename commando . U kunt het effect van de daling van de opdracht niet ongedaan maken . Wis de spordercount opgeslagen procedure door het invoeren van de volgende verklaring : DROP PROCEDURE sporderscount
|