创建MYSQL的储存过程-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

创建MYSQL的储存过程

简介:

  创建MYAQL的存储过程         

1   创建不带参数的储存过程

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

2   调用储存过程

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

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

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

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

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

   第三步   BEGIN

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

   第五步   END

   第六步   //

   第七步   DELIMITER原来的定界符;

4   删除程序

   DELETE PROCEDURE  过程名;

   删除存储过程

   DROP  PROCEDURE 过程名;

5   创建带有IN和OUT类型参数的存储过程  (创建前要先修改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 原来的定界符;

6   调用存储过程CALL 过程名

   如removeUserAndReturnUserNums(要删除的如21,剩下的总量如@nums);   查询剩下的总量SELECT @nums;

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

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

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

   第二步   CREATE  PROVEDURE 过程名如removeUserByAgeReturnInfos(IN 参数名如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原来的定界符;

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

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

   SELECT @nums@wang

查询剩下的总量SELECT @nums;

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

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


本文转自 拉考的考拉 51CTO博客,原文链接:http://blog.51cto.com/lakaodekaola/1926052


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: