haixin3036 发表于 2018-10-9 08:45:55

创建MYSQL的储存过程

  创建MYAQL的存储过程
  1   创建不带参数的储存过程
  CREATEPROCEDURE过程名()过程体 SELECTVERSION();
  2   调用储存过程
  第一种   CALL过程名();      (带有参数时使用)
  第二种   CALL过程名;      (不带参数时使用)
  3   创建带有IN类型参数的存储过程(创建前要先修改MYSQL的默认定界符为//,创建好后要修改回;)
  第一步   DELIMITER新的定界符如//
  第二步   CREATE PROCEDURE过程名如removeUserByid(IN 参数名如id 数据类型如INT字符类型如UNSIGNED)
  第三步   BEGIN
  第四步   DELETEFROM 表名 WHERE 数据表中的字段id=传递的参数id;
  第五步   END
  第六步   //
  第七步   DELIMITER原来的定界符;
  4   删除程序
  DELETE PROCEDURE过程名;
  删除存储过程
  DROPPROCEDURE 过程名;
  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新的定界符如//   通过年龄删除用户并且返回信息
  第二步   CREATEPROVEDURE 过程名如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;

页: [1]
查看完整版本: 创建MYSQL的储存过程