创建MYSQL的储存过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建MYSQL的储存过程相关的知识,希望对你有一定的参考价值。

         创建不带参数的储存过程

CREATE  PROCEDURE  过程名()  过程体 SELECT  VERSION();

         调用储存过程

第一种CALL  过程名();      (带有参数时使用)

第二种CALL  过程名;        (不带参数时使用)

创建带有IN类型参数的存储过程  (创建前要先修改mysql的默认定界符为//,创建好后要修改回;

第一步DELIMITER新的定界符如//     

第二步CREATE PROCEDURE  过程名如removeUserByid(IN 参数名如id 数据类型如INT  字符类型如UNSIGNED)

第三步BEGIN

第四步DELETEFROM 表名 WHERE 数据表中的字段id=传递的参数id

第五步END

第六步//

第七步DELIMITER原来的定界符;

删除程序

DELETE PROCEDURE  过程名;

删除存储过程

DROP  PROCEDURE 过程名;

创建带有INOUT类型参数的存储过程  (创建前要先修改MYSQL的默认定界符为//,创建好后要修改回;

第一步DELIMITER新的定界符如//     

第二步CREATE PROCEDURE 过程名如removeUserAndReturnUserNums(IN参数名如p_id 数据类型如INT  字符类型如UNSIGNED,OUT参数名如userNums数据类型如INT  字符类型如UNSIGNED)

第三步BEGIN

第四步DELETEFROM 表名 WHERE 数据表中的字段id=传递的参数p_id

第五步SLEECTcount(字段如id)  FROM  表名 INTO 参数名userNums

第六步END

第七步//

第八步DELIMITER 原来的定界符;

调用存储过程CALL 过程名如removeUserAndReturnUserNums(要删除的如21,剩下的总量如@nums)

查询剩下的总量SELECT @nums

ROW_COUNT();   可以查询到数据的插入.删除和更新的记录总数

创建带有多个OUT类型参数的存储过程  (创建前要先修改MYSQL的默认定界符为//,创建好后要修改回;

第一步DELIMITER新的定界符如//     通过年龄删除用户并且返回信息

第二步CREATE  PROVEDURE 过程名如removeUserByAgeReturnInfosIN 参数名如p_age 数据类型如SMALLINT 字符类型如UNSIGNED,OUT 参数名如deleteUsers 数据类型如SMALLINT 字符类型如UNSIGNED,OUT参数名如userCounts  数据类型如SMALLINT字符类型如UNSIGNED)

第三步BEGIN

第四步DELETEFROM 表名 WHERE 数据表中的字段age=传递的参数p_age

第五步SLEECTROW_ COUNT() 表名 INTO 参数名deleteUsers

第六步SLEECTCOUNT(字段如id) FROM  表名 INTO 参数名userCounts

第七步END

第八步//

第九步DELIMITER原来的定界符;

调用存储过程CALL 过程名如removeUserByAgeReturnInfos(要删除的如21,你要删除的数量如@nums,剩下的总量如@wang)

查询你要删除的数量和删除后剩下的数量

SELECT @nums@wang

查询剩下的总量SELECT @nums

查询表中你要查询的字段数据有几条

SELECT COUNT(id)  FROM  表名  WHERE  你要查询的字段如age=你要查询的数据如21








以上是关于创建MYSQL的储存过程的主要内容,如果未能解决你的问题,请参考以下文章

创建MYSQL的储存过程

数据库-mysql储存过程

mysql 储存过程

sqlserver 如何修改储存过程的名字

储存过程 (创建,调用,查询,删除)

mysql中的DELIMITER