当前位置:网站首页>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.
边栏推荐
- How to define guid in AMI code
- UEFI development learning 6 - creation of protocol
- 1089 Insert or Merge 含测试点5
- Measurement fitting based on Halcon learning [II] meaure_ pin. Hdev routine
- C WinForm [display real-time time in the status bar] - practical exercise 1
- Live555 push RTSP audio and video stream summary (I) cross compilation
- Global and Chinese markets for recycled boilers 2022-2028: Research Report on technology, participants, trends, market size and share
- C WinForm [get file path -- traverse folder pictures] - practical exercise 6
- A simple method to prove 1/t Fourier transform
- .NET服务治理之限流中间件-FireflySoft.RateLimit
猜你喜欢
![Shape template matching based on Halcon learning [v] find_ cocoa_ packages_ max_ deformation. Hdev routine](/img/a1/d13b37955b044b6be5f1fd10263c5e.jpg)
Shape template matching based on Halcon learning [v] find_ cocoa_ packages_ max_ deformation. Hdev routine

C, Numerical Recipes in C, solution of linear algebraic equations, LU decomposition source program

Software designer: 03 database system

Altium designer 19.1.18 - Import frame

C language enhancement -- pointer
![Halcon's practice based on shape template matching [1]](/img/68/206eed7502fbf108a929aa9365b1ae.jpg)
Halcon's practice based on shape template matching [1]

Reasons for rapid wear of conductive slip rings

Hardware 3 -- function of voltage follower

Nb-iot technical summary

Altium Designer 19.1.18 - 清除测量距离产生的信息
随机推荐
Record the visual shock of the Winter Olympics and the introduction of the screen 2
[professional literacy] specific direction of analog integrated circuits
Programming knowledge -- assembly knowledge
Communication standard -- communication protocol
Volatile of C language
IEEE access personal contribution experience record
Global and Chinese market of rammers 2022-2028: Research Report on technology, participants, trends, market size and share
Sql Server的存储过程详解
UEFI development learning 2 - running ovmf in QEMU
A simple method to prove 1/t Fourier transform
About yolov3, conduct map test directly
研究發現,跨境電商客服系統都有這五點功能!
Screen record of the opening ceremony of the Beijing winter olympics 2
Basic embedded concepts
After installing the new version of keil5 or upgrading the JLINK firmware, you will always be prompted about the firmware update
1089 insert or merge, including test point 5
Pointnet++ classification practice
How to select conductive slip ring
1089 Insert or Merge 含测试点5
Relationship between line voltage and phase voltage, line current and phase current