创建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]