当前位置:网站首页>Explication de la procédure stockée pour SQL Server
Explication de la procédure stockée pour SQL Server
2022-07-05 08:02:00 【Programmation de jeux】
Un.:Aperçu des procédures stockées
1.1 Concept de procédure stockée
Procédures stockées(Stored Procedure)Est précompiléSQLCollection de déclarations,Ces déclarations sont stockées sous un nom(Nom de la procédure stockée)En bas et en tant qu'unit é.La procédure stockée remplace l'exécution traditionnelle article par articleSQLLa façon dont les déclarations sont faites,Une procédure stockée peut contenir des requêtes、Insérer、Supprimer、Une série de manipulations telles que les mises à jourSQLDéclarations,Quand cette procédure stockée est appelée à s'exécuter,Ces opérations sont effectuées simultanément.
Les procédures stockées sont similaires à celles d'autres langages de programmation,Il peut accepter les paramètres d'entrée,Et renvoie plusieurs valeurs dans le format du paramètre de sortie à la procédure d'appel ou au lot;Contient pour effectuer des opérations dans la base de données(Y compris l'appel à d'autres procédures)Est devenu une déclaration;Renvoie une valeur d'état à la procédure d'appel ou au lot,Pour indiquer le succès ou l'échec(Et la cause de l'échec).
SQL ServerTrois types de procédures stockées sont disponibles
1.Procédures stockées par le système:Pour gérerSQL ServerProcédures stockées pour afficher des informations sur la base de données et les utilisateurs.
2.Procédure stockée personnalisée:L'utilisateur estSQL ServerEn adoptantSQLInstruction créer une procédure stockée.
3.Procédure stockée étendue:Par le langage de programmation(Par exempleC)Créer une routine externe,Et mettez cette routine dansSQL ServerUtilisé comme Procédure stockée.
1.2 Avantages des procédures stockées
La procédure stockée se comporte un peu comme suit:
(1)Les procédures stockées peuvent être utilisées de façon imbriquée,Prise en charge de la réutilisation du Code;
(2) Les procédures stockées peuvent être acceptées et exécutées dynamiquement avec des paramètres SQLDéclarations;
(3) Les procédures stockées sont plus SQL L'instruction s'exécute rapidement . La procédure stockée a été compilée au moment de la création ,À chaque exécution,Pas besoin de recompiler.EtSQL L'instruction doit être compilée à chaque exécution ;
(4) Les procédures stockées ont des caractéristiques de sécurité (Par exemple, permissions) Lien avec la propriété , Et peut être joint au certificat qui leur a été délivré . Les utilisateurs peuvent être autorisés à exécuter des procédures stockées sans avoir à avoir directement accès aux objets référencés dans les procédures stockées (C'est un peu comme ça.JAVA Encapsulation à l'intérieur de l'objet orienté ).
(5) Les procédures stockées permettent une programmation modulaire . Une fois la procédure stockée créée , Peut être appelé plus d'une fois dans le programme plus tard . Cela améliore la maintenabilité de l'application (C'est un peu comme ça.JAVA L'idée d'une architecture à plusieurs niveaux ), Et permettre aux applications d'accepter l'accès à la base de données .
(6) Les procédures stockées peuvent réduire le trafic réseau . Il faut des centaines de lignes SQL Le fonctionnement du Code d'instruction peut être effectué par une instruction qui exécute le Code de procédure , Sans envoyer des centaines de lignes de code sur le réseau .
(7) Les procédures stockées peuvent imposer la sécurité de l'application . Les procédures stockées paramétrées aident à protéger votre application contre SQL InjectionAttaque.
Description:SQL Injection C'est une façon d'attaquer , Il peut insérer un code malveillant qui sera transmis à SQL Server Dans la chaîne à analyser et à exécuter .Tout ce qui constitueSQL Le processus d'instruction doit être vérifié pour détecter les vulnérabilités d'injection ,Parce queSQL Server Toutes les requêtes syntaxiquement valides reçues par l'actionneur .
2.: Créer une procédure stockée
2.1 Créer des procédures stockées à l'aide d'outils de visualisation
Chaque outil de visualisation peut varier , Donc avec quel outil créer la procédure stockée , Aller à Baidu pour trouver des ressources devrait être beaucoup ici ne pas faire de démonstration
2.2 Utilisercreate procInstruction créer une procédure stockée
La syntaxe est la suivante:
create proc Procedure Proc_Student
@Proc_Son int
as
select * from Student where Sno = @Proc_Son
Trois: Gérer les procédures stockées
3.1 Exécuter la procédure stockée
Une fois la procédure stockée créée ,Peut passerEXECUTEExécution des commandes,Peut être abrégé enEXEC.
1.EXECUTE
EXECUTEyonglai zhixing Transact-SQL Chaîne de commande moyenne 、String、 Ou exécuter l'un des modules suivants :Procédures stockées par le système、Procédure stockée personnalisée par l'utilisateur、 Valeur scalaire fonction définie par l'utilisateur ou procédure stockée étendue .
2.UtiliserEXECUTEExécuter la procédure stockée
Par exemple, exécuter une procédure stockée Proc_Stu
exec Proc_Stu
3.2 Voir les procédures stockées
1.Utiliser sys.sql_modules Voir la définition de la procédure stockée ;
select * from sys.sql_modules
2.Utiliser OBJECT_DEFINITION Voir la définition de la procédure stockée
OBJECT_DEFINITION(object_id)
3.Utiliser sp_helptext Voir la définition de la procédure stockée
Afficher la définition des règles définies par l'utilisateur 、Par défaut、Non chiffréTransact-SQL Procédures stockées、Définition de l'utilisateurTransact-SQLFonctions、Déclencheur、Colonne calculée、CHECKContraintes、 Vue ou objet système ( Comme les procédures stockées par le système ).L'énoncé est le suivant:
sp_helptext 'Proc_Stu'
3.3 Modifier la procédure stockée
La modification d'une procédure stockée peut modifier un paramètre ou une instruction dans une procédure stockée ,Peut passerSQLDans une déclaration ALTER PROCEDURE Mise en oeuvre de l'énoncé. Bien que la procédure stockée soit supprimée et recréée , Vous pouvez également atteindre l'objectif de modifier la procédure stockée , .Mais toutes les permissions associées à cette procédure stockée seront perdues .
1.ALTER PROCEDURE Déclarations
ALTER PROCEDURE Instruction utilisée pour modifier l'exécution par CREATE PROCEDUR Processus de création d'énoncés . Lorsque cette instruction modifie une procédure stockée , Les permissions ne seront pas modifiées , N'affecte pas non plus les procédures stockées ou les déclencheurs associés .
Exemple:Le nom de la modification est“Proc_Stu”Procédures stockées pour.
ALTER PROCEDURE [dbo].[Proc_Stu]
@Son varchar(10)
as
select * from student
3.4 Renommer la procédure stockée
sp_rename 'Proc_Stu','Proc_StuInfo'
Attention!: Changer n'importe quelle partie du nom de l'objet peut détruire le script et la procédure stockée . Il n'est pas recommandé d'utiliser cette instruction pour renommer la procédure stockée 、Déclencheur、 Fonction ou vue personnalisée par l'utilisateur ; Au lieu de cela, supprimez l'objet , Puis Recréez l'objet avec un nouveau nom .
3.5 Supprimer la procédure stockée
DROP PROCENDURE Proc_Student
————————————————
Lien vers le texte original:https://blog.csdn.net/little_jecklove/article/details/108990153
Auteur:Apprendre comme naviguer contre l'eau,Si vous n'avancez pas, vous partirez.
Programmation de jeux,Un favori pour le développement de jeux~
Si l'image n'est pas affichée depuis longtemps,Veuillez utiliserChromeNavigateur du noyau.
边栏推荐
- Measurement fitting based on Halcon learning [II] meaure_ pin. Hdev routine
- Development tools -- gcc compiler usage
- Global and Chinese market of quenching furnaces 2022-2028: Research Report on technology, participants, trends, market size and share
- UEFI development learning 5 - simple use of protocol
- Acwing-宠物小精灵之收服-(多维01背包+正序倒序+两种形式dp求答案)
- Halcon's practice based on shape template matching [1]
- Altium designer 19.1.18 - Import frame
- Reasons for rapid wear of conductive slip rings
- solver. Learning notes of prototxt file parameters
- C # joint configuration with Halcon
猜你喜欢
C WinForm [display real-time time in the status bar] - practical exercise 1
Hardware 3 -- function of voltage follower
Measurement fitting based on Halcon learning [II] meaure_ pin. Hdev routine
Altium Designer 19.1.18 - 清除测量距离产生的信息
Screen record of the opening ceremony of the Beijing winter olympics 2
Halcon's practice based on shape template matching [2]
Network port usage
Altium designer 19.1.18 - hide the fly line of a network
Consul installation
Solutions to compilation warnings in Quartus II
随机推荐
MLPerf Training v2.0 榜单发布,在同等GPU配置下百度飞桨性能世界第一
Live555 push RTSP audio and video stream summary (III) flower screen problem caused by pushing H264 real-time stream
Step motor generates S-curve upper computer
The firmware of the connected j-link does not support the following memory access
2021-10-28
Sql Server的存储过程详解
. Net service governance flow limiting middleware -fireflysoft RateLimit
Altium designer 19.1.18 - change the transparency of copper laying
Global and Chinese market of resistivity meter 2022-2028: Research Report on technology, participants, trends, market size and share
C WinForm [display real-time time in the status bar] - practical exercise 1
After installing the new version of keil5 or upgrading the JLINK firmware, you will always be prompted about the firmware update
Process communication mode between different hosts -- socket
C#,数值计算(Numerical Recipes in C#),线性代数方程的求解,LU分解(LU Decomposition)源程序
C WinForm [realize the previous and next selection pictures] - practice 7
Realization of binary relation of discrete mathematics with C language and its properties
Define in and define out
C WinForm [get file path -- traverse folder pictures] - practical exercise 6
Shape template matching based on Halcon learning [vi] find_ mirror_ dies. Hdev routine
Nb-iot technical summary
Pointnet++ classification practice