当前位置:网站首页>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.
边栏推荐
- Global and Chinese markets for recycled boilers 2022-2028: Research Report on technology, participants, trends, market size and share
- Reasons for rapid wear of conductive slip rings
- C WinForm [get file path -- traverse folder pictures] - practical exercise 6
- Global and Chinese markets for flexible endoscopic lithotripsy devices 2022-2028: Research Report on technology, participants, trends, market size and share
- [professional literacy] specific direction of analog integrated circuits
- mysql 盲注常见函数
- VESC Benjamin test motor parameters
- Record the opening ceremony of Beijing Winter Olympics with display equipment
- Development tools -- gcc compiler usage
- Live555 push RTSP audio and video stream summary (I) cross compilation
猜你喜欢
Mlperf training v2.0 list released, with the same GPU configuration, the performance of Baidu PaddlePaddle ranks first in the world
Can't find real-time chat software? Recommend to you what e-commerce enterprises are using!
Relationship between line voltage and phase voltage, line current and phase current
Some thoughts on extracting perspectives from ealfa and Ebeta
Shell脚本基本语法
Arduino uses nrf24l01+ communication
Semiconductor devices (I) PN junction
Win10 shortcut key
Altium Designer 19.1.18 - 隐藏某一个网络的飞线
Improve lighting C program
随机推荐
Global and Chinese market of blackbody calibration source 2022-2028: Research Report on technology, participants, trends, market size and share
Software designer: 03 database system
About yolov3, conduct map test directly
UEFI development learning 5 - simple use of protocol
Hardware 3 -- function of voltage follower
Altium Designer 19.1.18 - 导入板框
Hardware and software solution of FPGA key chattering elimination
Network port usage
General makefile (I) single C language compilation template
L'étude a révélé que le système de service à la clientèle du commerce électronique transfrontalier a ces cinq fonctions!
Altium designer 19.1.18 - clear information generated by measuring distance
Ten thousand words detailed eight sorting must read (code + dynamic diagram demonstration)
Correlation based template matching based on Halcon learning [II] find_ ncc_ model_ defocused_ precision. hdev
Random function usage notes
Global and Chinese markets of large aperture scintillators 2022-2028: Research Report on technology, participants, trends, market size and share
万字详解八大排序 必读(代码+动图演示)
Programming knowledge -- basis of C language
UEFI development learning series
IC software learning
Factors affecting the quality of slip rings in production