一、语法
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
[ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data 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
包括过程名称、参数定义(类型)、特性、存储过程体
二、创建方法
方法一:
- 利用工具栏打开【查询】–【新建查询】窗口编写sql:
注意:如果不用参数,红色方框里面的左右括号也是必要的(下划线的地方的分号不能少,不然执行时会报错)
2.执行sql创建存储过程,然后直接写SQL调用存储过程(CALL XXOO(‘财务部’))
方式二:
1.打开navicat选择要创建存储过程的数据库. 利用工具栏打开【函数】–【新建函数】:
2.添加所要输入的参数,选择模式和类型(注意:这里并没有默认提供大小)。
3.输入存储过程的定义语句。
4.保存,输入存储过程的名字。
注意:保存中会出现如此错误,是因为创建时系统并没有提供大小(例如varchar类型),需要自己输入大小,否则保存不成功。
5.保存成功。
6.点击运行,输入参数,执行存储过程。
注意:输入参数时,输入参数是常量,输出参数是@变量,参数个数必须和存储定义的一致;否则,执行失败。。。