Table des matières
Qu'est-ce qu'une procédure stockée
Procédures stockées système
Syntaxe de la procédure stockée :
Utilisation d'une instance de procédure stockée :
1. Sans paramètres
2. Avec paramètres d'entrée
3. Avec paramètres d'entrée et de sortie
Maison base de données SQL Une brève discussion sur les procédures stockées de base de données

Une brève discussion sur les procédures stockées de base de données

Jun 14, 2019 am 11:25 AM
存储过程 数据库

Une brève discussion sur les procédures stockées de base de données

Qu'est-ce qu'une procédure stockée

Si vous avez été exposé à d'autres langages de programmation, il sera facile de comprendre que les procédures stockées sont simples. comme les méthodes.

Il s'avère que c'est une méthode, donc elle a un nom de méthode similaire, les variables à passer par la méthode et le résultat renvoyé, donc la procédure stockée a un nom de procédure stockée, des paramètres de procédure stockée et valeur de retour.

Avantages des procédures stockées :

  • La capacité des procédures stockées améliore considérablement la fonctionnalité et la flexibilité du langage SQL.
  • garantit la sécurité et l'intégrité des données.
  • Grâce à des procédures stockées, les utilisateurs sans autorisations peuvent accéder indirectement à la base de données sous contrôle, garantissant ainsi la sécurité des données.
  • Les procédures stockées permettent aux actions liées de se produire ensemble, préservant ainsi l'intégrité de la base de données.
  • Avant d'exécuter la procédure stockée, la base de données a analysé sa grammaire et sa syntaxe et a fourni un plan d'exécution optimisé. Ce processus compilé peut grandement améliorer les performances des instructions SQL.
  • peut réduire le trafic réseau.
  • Placez le programme informatique qui incarne les règles de l'entreprise dans le serveur de base de données pour un contrôle centralisé.

Les procédures stockées peuvent être divisées en procédures stockées système, procédures stockées étendues et procédures stockées définies par l'utilisateur

Procédures stockées système

Nous Jetons d'abord un coup d'œil aux procédures stockées système. Les procédures stockées système sont définies par le système et sont principalement stockées dans la base de données MASTER. Les noms commencent par "SP" ou "XP". Bien que ces procédures stockées système se trouvent dans la base de données MASTER,

Mais nous pouvons toujours appeler des procédures stockées système dans d'autres bases de données. Certaines procédures stockées système sont automatiquement créées dans la base de données actuelle lorsqu'une nouvelle base de données est créée.

Les procédures stockées système couramment utilisées sont :

  • exec sp_databases; --View database
  • exec sp_tables; --View table
  • exec sp_columns; étudiant ;--Afficher les colonnes
  • exec sp_helpIndex étudiant;--Afficher l'index
  • exec sp_helpConstraint étudiant;--Constraintes
  • exec sp_helptext 'sp_stored_procedures';--Afficher la procédure stockée création Instruction définie
  • exec sp_stored_procedures;
  • exec sp_rename student, stuInfo;--changer le nom de la table
  • exec sp_renamedb myTempDB, myDB;--changer le nom de la base de données
  • exec sp_defaultdb 'master', 'myDB';--Modifier la base de données par défaut du nom de connexion
  • exec sp_helpdb;--Aide de la base de données, interroger les informations de la base de données
  • exec sp_helpdb master;
  • exec sp_attach_db --attached database
  • exec sp_detach_db --owned database

Syntaxe de la procédure stockée :

Avant de créer une procédure stockée, parlons Parlons d'abord de la dénomination des procédures stockées. J'ai vu que plusieurs articles sur les procédures stockées aiment ajouter un préfixe lors de la création d'une procédure stockée. Il est important de prendre l'habitude d'ajouter un préfixe avant le nom d'une procédure stockée. Bien que ce ne soit qu’une petite chose, de petits détails déterminent souvent un grand succès ou un grand échec. J'ai vu que certaines personnes aiment ajouter des préfixes comme celui-ci, comme proc_name. Voir également ce préfixe usp_name. Le premier proc est l'abréviation de procédure, et le second sup signifie procédure utilisateur. Je préfère la première méthode, donc tous les noms de procédures stockées ci-dessous seront écrits dans la première méthode. Quant à l'écriture du nom, la nomenclature des chameaux est utilisée.

La syntaxe de création d'une procédure stockée est la suivante :

CREATE PROC[EDURE] 存储过程名 

@参数1 [数据类型]=[默认值] [OUTPUT] 

@参数2 [数据类型]=[默认值] [OUTPUT]

AS 

SQL语句

EXEC 过程名[参数]
Copier après la connexion

Utilisation d'une instance de procédure stockée :

1. Sans paramètres

create procedure proc_select_officeinfo--(存储过程名)as select Id,Name from Office_Info--(sql语句)

exec proc_select_officeinfo--(调用存储过程)
Copier après la connexion

2. Avec paramètres d'entrée

create procedure procedure_proc_GetoffinfoById ----  Name  dbo.Office_Info  Id=@Id----(存储过程名称之后,空格加上参数,多个参数中间以逗号分隔)

注:参数赋值是,第一个参数可以不写参数名称,后面传入参数,需要明确传入的是哪个参数名称
Copier après la connexion

3. Avec paramètres d'entrée et de sortie

créer. procédure proc_office_info--( Nom de la procédure stockée)
@Id int,@Name varchar(20) sortie--(nom du paramètre type de paramètre) Les paramètres sortants doivent être ajoutés avec la sortie
comme
begin
select @Name=Name from dbo.Office_Info où Id=@Id --(sql Statement)
end

declare @houseName varchar(20) --Déclare une variable et récupère la valeur transmise par la procédure stockée
exec proc_office_info- -(nom de la procédure stockée)
4,@houseName output--(On dit que le paramètre doit ajouter une sortie. Si vous utilisez @variable = OUTPUT ici, une erreur sera signalée, donc changer la méthode d'écriture)

sélectionnez @houseName-- (Valeur d'affichage)

4 avec valeur de retour

create procedure proc_office_info--(存储过程名)
@Id int--(参数名 参数类型)as beginif(select Name from dbo.Office_Info where Id=@Id)=null --(sql语句)
beginreturn -1endelsebeginreturn 1end
end

declare @house varchar(20) --声明一个变量,获取存储过程传出来的值
exec @house=proc_office_info 2 --(调用存储过程,用变量接收返回值)--注:带返回值的存储过程只能为int类型的返回值
print @house
Copier après la connexion

Pour plus d'articles techniques liés à SQL, veuillez visiter la colonne Tutoriel SQL pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Mar 27, 2024 pm 09:39 PM

Le langage Go est un langage de programmation efficace, concis et facile à apprendre. Il est privilégié par les développeurs en raison de ses avantages en programmation simultanée et en programmation réseau. Dans le développement réel, les opérations de base de données font partie intégrante. Cet article explique comment utiliser le langage Go pour implémenter les opérations d'ajout, de suppression, de modification et de requête de base de données. Dans le langage Go, nous utilisons généralement des bibliothèques tierces pour faire fonctionner les bases de données, telles que les packages SQL couramment utilisés, gorm, etc. Ici, nous prenons le package SQL comme exemple pour présenter comment implémenter les opérations d'ajout, de suppression, de modification et de requête de la base de données. Supposons que nous utilisons une base de données MySQL.

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Comment Hibernate implémente-t-il le mappage polymorphe ? Comment Hibernate implémente-t-il le mappage polymorphe ? Apr 17, 2024 pm 12:09 PM

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Une analyse approfondie de la façon dont HTML lit la base de données Une analyse approfondie de la façon dont HTML lit la base de données Apr 09, 2024 pm 12:36 PM

HTML ne peut pas lire directement la base de données, mais cela peut être réalisé via JavaScript et AJAX. Les étapes comprennent l'établissement d'une connexion à la base de données, l'envoi d'une requête, le traitement de la réponse et la mise à jour de la page. Cet article fournit un exemple pratique d'utilisation de JavaScript, AJAX et PHP pour lire les données d'une base de données MySQL, montrant comment afficher dynamiquement les résultats d'une requête dans une page HTML. Cet exemple utilise XMLHttpRequest pour établir une connexion à la base de données, envoyer une requête et traiter la réponse, remplissant ainsi les données dans les éléments de la page et réalisant la fonction de lecture HTML de la base de données.

Comment gérer les erreurs de connexion à la base de données en PHP Comment gérer les erreurs de connexion à la base de données en PHP Jun 05, 2024 pm 02:16 PM

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP Mar 27, 2024 pm 05:21 PM

PHP est un langage de programmation back-end largement utilisé dans le développement de sites Web. Il possède de puissantes fonctions d'exploitation de bases de données et est souvent utilisé pour interagir avec des bases de données telles que MySQL. Cependant, en raison de la complexité du codage des caractères chinois, des problèmes surviennent souvent lorsqu'il s'agit de caractères chinois tronqués dans la base de données. Cet article présentera les compétences et les pratiques de PHP dans la gestion des caractères chinois tronqués dans les bases de données, y compris les causes courantes des caractères tronqués, les solutions et des exemples de code spécifiques. Les raisons courantes pour lesquelles les caractères sont tronqués sont des paramètres de jeu de caractères incorrects dans la base de données : le jeu de caractères correct doit être sélectionné lors de la création de la base de données, comme utf8 ou u.

Comment se connecter à une base de données distante à l'aide de Golang ? Comment se connecter à une base de données distante à l'aide de Golang ? Jun 01, 2024 pm 08:31 PM

Grâce au package base de données/sql de la bibliothèque standard Go, vous pouvez vous connecter à des bases de données distantes telles que MySQL, PostgreSQL ou SQLite : créez une chaîne de connexion contenant les informations de connexion à la base de données. Utilisez la fonction sql.Open() pour ouvrir une connexion à la base de données. Effectuez des opérations de base de données telles que des requêtes SQL et des opérations d'insertion. Utilisez defer pour fermer la connexion à la base de données afin de libérer des ressources.

See all articles