MySQL创建存储过程
2016-04-26 21:10
495 查看
MySQL创建存储过程
drop procedure test_add if exists; -- 创建存储过程(不可以使用create or replace) create procedure test_add( a INT, b INT ) BEGIN declare c int; if a is null then set a = 0; end if; if b is null then set b = 0; end if; set c = a + b; select c as sum; end; --运行 set @a=10; set @b=10; call test_add(@a,@b);
以上是在navicat中可以,但是在workbench或mysql command client中不行。这是因为navicat会自动设置不同的分隔符,做了处理。在workbench和mysql command client中要使用以下的格式:
-- 设置Delimiter,防止和存储过程中的冲突 Delimiter //; create procedure test_add( a int, b int ) BEGIN declare c int; if a is null then set a = 0; end if; if b is null then set b = 0; end if; set c = a + b; select c as sum; end; // -- 恢复默认的Delimiter; Delimiter ; //
相关文章推荐
- MySql查询方式优化-重新构建查询
- mysql中左连接,右连接,内连接查询
- 关于MySQL数据库重装失败,出现问题,重装的时候出现错误1130的问题和解决办法。
- Mysql学习笔记
- MySQL出现中文乱码
- mysql 事务处理,事务操作,JDBC中事务的使用,事务的sql语句,
- mysql主从复制,及扩展
- mysql中触发器的应用
- mysql修改编码格式
- mysql存储过程
- mysql数据库分表后生成全局id的几种方式
- MySQL Binlog Mixed模式记录成Row格式
- MySQL基础
- mysql_Calculator
- 【mysql】函数内字符串连接&char to int转换
- 【mysql】函数样例
- mysql三种判断子串三个函数
- Mysql索引与优化
- 搭建简单的servlet&MySQL
- MySQL用户管理及权限管理