Les procédures stockées sont des objets de base de données exécutables composés de plusieurs instructions SQL . Ils aident à simplifier l'interaction entre la base et l'utilisateur final qui ne possède pas suffisamment d'expertise pour écrire des requêtes SQL complexes . Vous pouvez utiliser des procédures stockées pour fournir l'accès , la validation des données et de simplifier le traitement complexe qui nécessite plusieurs instructions SQL . Les procédures stockées peuvent accepter des paramètres d'entrée, les valeurs de retour et mettre en œuvre des logiques boucle comme si , les déclarations de tout et de cas . Choses que vous devez
Microsoft SQL Server Query Analyzer
Afficher plus Instructions
1
créer une procédure stockée en utilisant la syntaxe CREATE PROCEDURE procedurename . Entrez les instructions suivantes pour créer une procédure stockée appelée sporderscopy qui copie le contenu de la table Orders dans la table de OrdersCopy .
CREATE PROCEDURE sporderscopy
AS
SELECT * INTO OrdersCopy
FROM Orders
la procédure ci-dessus va créer une copie de la table des commandes . Vous pouvez aussi ajouter des paramètres , recompiler et ajouter un cryptage avec l'instruction CREATE PROCEDURE. Les paramètres vous aident à accepter les valeurs de la procédure qui sont nécessaires pour le résultat souhaité. Les paramètres de sortie sont utilisés pour stocker des valeurs qui sont passés de nouveau à un autre programme. Les paramètres optionnels ont une valeur par défaut et n'ont pas besoin d' une valeur d'entrée . L'option recompiler rend le système compile la procédure à chaque fois qu'il est exécuté. L'option de cryptage permet à l'utilisateur final d'obtenir le résultat final sans voir le code.
2 procédures stockées
peut accepter des valeurs d'entrée et de reverser les valeurs de sortie au programme appelant les procédures stockées en déclarant les paramètres . Les paramètres d'entrée peuvent être facultatives , si vous attribuez une valeur par défaut pour eux lors de la création de la procédure. Les paramètres de sortie sont définis en spécifiant le mot-clé OUTPUT.
CREATE PROCEDURE sporderscount
@ total_order SORTIE argent , AB
@ order_date smalldatetime = NULL , AB
@ customer_var varchar ( 40) = '%'
AS
SELECT @ total_order = SOMME ( total_order )
des ordres REJOIGNEZ clients
ON orders.orderID = customers.orderID
WHERE ( order_date > = @ date_var )
eT ( CustomerName comme @ customer_var )
La procédure ci-dessus a deux paramètres d'entrée et renvoie un paramètre de sortie . Le paramètre de sortie est identifié par le mot clé OUTPUT .
3
de l'exécution, une procédure en utilisant la syntaxe de procedurename EXEC. Entrez les instructions SQL suivantes pour exécuter la procédure stockée :
DECLARE @ mytotalorder argent
EXEC spordercount @ = @ mytotalorder sortie total_order , '2010 -03- 21 ' , ' D % '< br >
l'instruction Declare crée une variable de sortie qui va stocker la valeur du paramètre de sortie dans la procédure stockée . L' instruction d'exécution est utilisé pour exécuter la procédure stockée. Puisque les paramètres d'entrée ont des valeurs par défaut, ils ne doivent pas être affecté d'une valeur lors de l'exécution de la procédure
4 valeurs de retour
de procédures stockées en ajoutant la mention suivante : .
RETURN @ order_count
La déclaration ci-dessus dans une procédure stockée renvoie une valeur et la stocker dans une variable dans le programme appelant la procédure . Vous pouvez soit utiliser un paramètre de retour ou le paramètre de sortie de retraverser une valeur au programme appelant . Dans la déclaration ci-dessus , la procédure renvoie le nombre de lignes dans la table des commandes .
5
Utilisez la commande ALTER PROCEDURE procedurename de modifier la procédure stockée. La syntaxe est similaire à la procédure de création. Entrez les instructions suivantes pour modifier la procédure spordercount d'ajouter une autre variable d'état . La procédure stockée va restreindre les lignes en fonction de l'état de résidence plutôt que le nom .
ALTER PROCEDURE sporderscount
@ order_state varchar (30) = NULL , AB
@ total_order SORTIE argent , AB
@ order_date smalldatetime = NULL
AS
SELECT @ total_order = somme ( total_order )
des ordres REJOIGNEZ clients
< p > ON orders.orderID = customers.orderID
WHERE ( order_date > = @ date_var )
ET ( CustomerState = @ order_state )
6
Supprimer l' stockée procédure en utilisant la commande procedurename DROP PROCEDURE . Vous ne pouvez pas annuler l'effet de la commande drop . Supprimer la procédure stockée spordercount en entrant la déclaration suivante:
DROP PROCEDURE sporderscount