1.存储过程:是SQL语句和控制语句的集合,以一个名称存储并作为一个单元处理。
2.参数类型
输入类型:IN表示该参数的值必须在调用存储过程时指定
输出类型:OUT表示该参数的值可以被存储过程改变,并且可以返回
输入&&输出类型:INOUT 表示该参数在调用时指定,并且可以被改变和返回
IN OUT区别:
注意事项:
(1)创建存储过程或自定义函数时需要通过DELIMITER语句修改定界符。
(2)如果函数体或过程体有多个语句,需要包含在BEGIN...AND语句块中。
创建:
实例:下面写一个通过指定id来删除tdb_goods表中的记录,并返回剩余记录的存储过程
DELIMITER // --修改定界符以//结束语句
CREATE PROCEDURE DeleteColAndReturnCols(IN id SMALLINT UNSIGNED,OUT count_id INT UNSIGNED)
--创建存储过程要使用关键字PROCEDURE,在括号中声明参数的类型
BEGIN --存储过程有多条语句时要使用BEGIN..END
DELETE FROM tdb_goods WHERE goods_id=id ; --通过id来删除记录
SELECT COUNT(goods_id) FROM tdb_goods INTO count_id; --返回剩于记录的总条数,使用INTO来给参数count_id赋值
END// --书写过程体完毕
DELIMITER ; --重新修改定界符
--重新
存储过程创建成功。
先查看一下原表中的记录总数。
使用CALL关键字调用存储过程
存储·