当前位置:网站首页>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.
边栏推荐
- C language uses arrays to realize the intersection, union, difference and complement of sets
- How to migrate the device data accessed by the RTSP of the easycvr platform to easynvr?
- H264 (I) i/p/b frame gop/idr/ and other parameters
- Global and Chinese markets for waste treatment air switches 2022-2028: Research Report on technology, participants, trends, market size and share
- Record the opening ceremony of Beijing Winter Olympics with display equipment
- C # joint configuration with Halcon
- Global and Chinese market of core pallets 2022-2028: Research Report on technology, participants, trends, market size and share
- Some thoughts on extracting perspectives from ealfa and Ebeta
- Ten thousand words detailed eight sorting must read (code + dynamic diagram demonstration)
- IEEE access personal contribution experience record
猜你喜欢

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

A simple method to prove 1/t Fourier transform

Step motor generates S-curve upper computer

如何进行导电滑环选型

Wifi-802.11 negotiation rate table

C language # and #

Basic embedded concepts

Hardware 1 -- relationship between gain and magnification

Altium designer 19.1.18 - Import frame
随机推荐
Makefile application
软件设计师:03-数据库系统
String judgment
Process communication mode between different hosts -- socket
找不到实时聊天软件?给你推荐电商企业都在用的!
UEFI development learning 2 - running ovmf in QEMU
C WinForm [realize the previous and next selection pictures] - practice 7
Global and Chinese markets of large aperture scintillators 2022-2028: Research Report on technology, participants, trends, market size and share
Global and Chinese market of peeled bourdon tubes 2022-2028: Research Report on technology, participants, trends, market size and share
.NET服务治理之限流中间件-FireflySoft.RateLimit
Altium designer 19.1.18 - change the transparency of copper laying
Altium designer learning (I)
Measurement fitting based on Halcon learning [i] fuse Hdev routine
Cadence simulation encountered "input.scs": can not open input file change path problem
Altium designer 19.1.18 - Import frame
Vofa+ software usage record
Gradle复合构建
Arduino uses nrf24l01+ communication
Development tools -- gcc compiler usage
Introduction of air gap, etc