Maison >base de données >SQL >Une brève discussion sur les procédures stockées de base de données
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 :
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
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 :
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 过程名[参数]
create procedure proc_select_officeinfo--(存储过程名)as select Id,Name from Office_Info--(sql语句) exec proc_select_officeinfo--(调用存储过程)
create procedure procedure_proc_GetoffinfoById ---- Name dbo.Office_Info Id=@Id----(存储过程名称之后,空格加上参数,多个参数中间以逗号分隔) 注:参数赋值是,第一个参数可以不写参数名称,后面传入参数,需要明确传入的是哪个参数名称
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
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!