mysql存储过程语法学习笔记
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-01 21:25:18 浏览: 评论:0
mysql存储过程是各种数据库内置的一个功能,它可以提高数据库各种性能,下面我来给大家分享一下我学习存储过程的些知识,大家有兴趣一起来看看.
今天又把mysql存储过程学习了下,大家先看以下代码,对语法不懂的朋友,可以详细看下语法结构,代码如下:
- CREATE PROCEDURE and CREATE FUNCTION Syntax
- CREATE
- [DEFINER = { user | CURRENT_USER }]
- PROCEDURE sp_name ([proc_parameter[,...]])
- [characteristic ...] routine_body
- CREATE
- [DEFINER = { user | CURRENT_USER }]
- FUNCTION sp_name ([func_parameter[,...]])
- RETURNS type
- [characteristic ...] routine_body
- proc_parameter:
- [ IN | OUT | INOUT ] param_name type
- func_parameter:
- 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: --phpfensi.com
- Valid SQL routine statement
例,代码如下:
- DELIMITER $$ /*改变语句的结束符*/
- USE `test`$$ /*选择数据库*/
- DROP PROCEDURE IF EXISTS `outgo`$$ /*存在outgo存储过程就删除*/
- CREATE DEFINER=`root`@`%` PROCEDURE `outgo`(IN v_table CHAR(10), IN v_id INT(2), OUT v_value VARCHAR(32))
调用存储过程的语法是call.如下:
- mysql> call outgo('user', 2, @a);
- +----+--------------+
- | id | title |
- +----+--------------+
- | 2 | 你大爷的 |
- +----+--------------+
- 1 row in set (0.00 sec)
- Query OK, 0 rows affected (0.00 sec)
- mysql> call outgo('user', 1, @a);
- +----+--------------------+
- | id | title |
- +----+--------------------+
- | 1 | 我来测试一记 |
- +----+--------------------+
- 1 row in set (0.00 sec)
其中调用中文的时候可能会出现Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (latin1_swedish_ci,NUMERIC), (utf8_general_ci,COERCIBLE) for operation 'concat'这是由于编码不一致导致的。
Tags: mysql存储过程 mysql存储语法
相关文章
- ·创建mysql存储过程出现1307错误(2014-09-27)
- ·mysql 存储过程中游标与多游标实例(2014-09-27)
- ·MySQL存储过程游标操作的跳出与继续(2014-09-27)
- ·mysql导入存储过程无法使用(2014-09-28)
- ·mysql导入存储过程报错问题解决方法(2014-09-28)
- ·MySQL存储过程游标使用实例详解(2014-09-28)
- ·mysql存储过程使用说明详解(2014-10-04)
- ·MySQL存储过程的函数与基本用法(2014-10-05)
- ·mysql用存储过程循环截取用户信息并插入到目标表对应(2015-04-18)
- ·php调用mysql存储过程会员登录验证实例分析(2015-04-18)
- ·mysqldump如何导出不包含存储过程数据?(2015-04-20)
- ·MYSQL导入存储过程无法执行问题解决办法(2015-04-20)
- ·MySQL存储过程实现Oracle邻接模型树形处理的方法实例(2015-04-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)