一、先看一下存储过程的标准格式
(中括号内的参数为非必填项。)
CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body proc_parameter: [ IN | OUT | INOUT ] param_name type characteristic: COMMENT 'string' | LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } routine_body: Valid SQL routine statement [begin_label:] BEGIN [statement_list] …… END [end_label]
二、可能看不懂是吧,没关系下面来个简单示例
前期准备:假设我的数据库copy_test里有张student表
开始编写存储过程:
敲回车会出现:
然后再输入delimiter ;敲回车。(目的是将语句的结束符恢复为分号;):
至此,一个存储过程创建完成。
下面我们传入参数 5 来调用一下存储过程看一下效果吧。
执行成功了,这时我们再查一遍student表:
已经删除掉了id为5 的数据。
前面只是看我编写和调用存储过程,具体每个字段是什么意思呢?下一篇我们再详细解析。