Ce qui est une procédure stockée ? Comment ça marche ? Quelle est la composition d’une procédure stockée (choses chaque doit avoir pour être une procédure stockée) ?
Réponses
Trop de publicités?Les Procédures stockées sont d'un lot d'instructions SQL qui peut être exécutée dans un couple des manières. La plupart des grands Sgbd en charge les procédures stockées; cependant, pas tous. Vous aurez besoin de vérifier auprès de votre SGBD aide de la documentation pour les détails. Comme je suis très famillar avec SQL Server, je vais l'utiliser comme mes échantillons.
Pour créer une procédure stockée, la syntaxe est assez simple:
CREATE PROCEDURE <owner>.<procedure name>
<Param> <datatype>
AS
<Body>
Ainsi, par exemple:
CREATE PROCEDURE Users_GetUserInfo
@login nvarchar(30)=null
AS
SELECT * from [Users]
WHERE ISNULL(@login,login)=login
Un des avantages de procédures stockées, c'est que vous pouvez centraliser la logique d'accès aux données en un seul endroit qui est facile pour les administrateurs de base de données pour optimiser. Procédures stockées ont également une prestation de sécurité que vous pouvez accorder des droits d'exécution d'une procédure stockée, mais l'utilisateur n'aura pas besoin d'avoir des autorisations de lecture/écriture sur les tables sous-jacentes. C'est une bonne première étape contre les injections SQL.
Procédures stockées ne viennent avec des inconvénients, essentiellement la maintaince associé à votre base opération CRUD. Disons que pour chaque tableau, vous avez un Insert, Update, Delete et au moins une sélection basée sur la clé Primaire, cela signifie que chaque table aura 4 procédures. Maintenant, prenez une bonne taille de la base de données de 400 tables, et vous avez 1600 procédures! Et c'est en supposant que vous n'avez pas de doublons qui vous probally volonté.
C'est l'utilisation d'un ORM ou d'une autre méthode pour générer automatiquement votre base opérations CRUD a une tonne de mérite.
Une Procédure stockée est un Ensemble précompilés Sql qui est utilisée pour Effectuer Une Tâche particulière
Exemple:- si j'ai Employé le Tableau
Employee ID Name Age Mobile
001 Sidheswar 25 9938885469
002 Pritish 32 9178542436
D'abord, je suis de la récupération de la table Employee
Create Procedure Employee details
As
Begin
Select * from Employee
End
Pour Exécuter La Procédure dans SQl Server
Execute Employee details
--- (Employee details is a user defined name, give a name as you want)
Puis la Deuxième, je suis l'insertion de la valeur à la Table des Employés
Create Procedure employee_insert (@EmployeeID int,@Name Varchar (30), @Age int, @Mobile int)
As
Begin
Insert In to Employee Values (@EmployeeID, @Name, @Age, @Mobile )
End
Pour Exécuter La Procédure Paramétrée dans SQl Server
Execute employee_insert 003,'xyz',27,1234567890
--(Para meter Size must be Same with declared Column Size)
EX:-@Name Varchar(30) Dans la Table des Employés, Le Nom de la Colonne s Taille doit être de type varchar(30)
Une procédure stockée est un groupe d'instructions sql qui a été créé et stocké dans la base de données. Procédure stockée accepter des paramètres d'entrée, de sorte qu'une seule et même procédure peut être utilisée sur le réseau par plusieurs clients à l'aide de différentes données d'entrée. Procédure stockée de réduire le trafic réseau et d'augmenter les performances. Si nous décidons de modifier la procédure stockée tous les clients recevront la mise à jour de la procédure stockée
Exemple de la création de la Procédure Stockée
USE dbtest;
GO
CREATE PROCEDURE test_display
AS
SELECT FirstName, LastName FROM tb_test;
GO
EXEC test_display;
GO
DROP PROCEDURE test_display;
GO
Avantages de l'utilisation de procédures stockées
a) a) procédure Stockée permet la programmation modulaire.
Vous pouvez créer la procédure une fois, les stocker dans la base de données, et de l'appeler n'importe quel nombre de fois dans votre programme.
b) b) de la Procédure Stockée permet une exécution plus rapide.
Si l'opération nécessite une grande quantité de code SQL est exécutée de façon répétitive, des procédures stockées peuvent être plus rapides. Ils sont analysés et optimisés quand ils sont d'abord exécutés, et une version compilée de la procédure stockée reste en mémoire cache pour une utilisation ultérieure. Cela signifie que la procédure stockée n'a pas besoin d'être réanalysée et reoptimized à chaque utilisation, ce qui beaucoup plus rapide temps d'exécution.
c) c) Procédure Stockée peut réduire le trafic réseau.
Une opération nécessitant des centaines de lignes de code Transact-SQL peut être réalisée par une seule instruction qui s'exécute le code dans une procédure, plutôt que d'envoyer des centaines de lignes de code sur le réseau.
d) d) des procédures Stockées fournir une meilleure sécurité de vos données
Les utilisateurs peuvent obtenir l'autorisation d'exécuter une procédure stockée, même si elles n'ont pas l'autorisation d'exécuter la procédure de déclarations directement.
En SQL, nous sommes d'avoir différents types de procédures stockées sont là
un Système de Procédures Stockées b) Défini par l'Utilisateur des procédures Stockées c) les Procédures Stockées Étendues
Les Procédures Stockées Du Système:
Les procédures stockées sont stockées dans la base de données master et ce sont commence par un préfixe sp_. Ces procédures peuvent être utilisés pour effectuer une variété de tâches pour soutenir les fonctions de sql server pour l'application externe d'appels dans les tables système
Ex: sp_helptext [StoredProcedure_Name]
Défini Par L'Utilisateur Des Procédures Stockées:
Défini par l'utilisateur des procédures stockées sont généralement stockées dans une base de données utilisateur et sont généralement conçus pour exécuter les tâches de l'utilisateur de la base de données. Alors que la codification de ces procédures n'utilisez pas de préfixe sp_ parce que si nous utilisons le préfixe sp_ d'abord il va vérifier la base de données master alors, il s'agit défini par l'utilisateur de la base de données
Les Procédures Stockées Étendues:
Les procédures stockées étendues sont les procédures d'appel des fonctions à partir de fichiers DLL. Maintenant, un jour les procédures stockées étendues sont amortis pour cette raison, il serait préférable d'éviter d'utiliser des procédures Stockées Étendues.
En règle générale, une procédure stockée est une « fonction SQL ». Ils ont :
Il s’agit d’un exemple de T-SQL concentré. Les procédures stockées peuvent exécuter la plupart des instructions SQL, les valeurs de retour scalaires et basée sur une table et sont considérés comme pour être plus sûr, car elles empêchent les attaques par injection SQL.
Procédure stockée est principalement utilisé pour effectuer certaines tâches sur la base de données. par exemple
- Téléchargez jeux de résultats de DB d’une logique métier sur les données.
- Exécuter plusieurs opération DB à appel unique.
- Utilisé pour migrer des données d’une table vers une autre table.
- Peut être appelée pour autre langage de programmation comme java.