第一次写MySQL存储过程遇到的关于DELIMITER的问题
来源:互联网 发布:用java开发微信企业号 编辑:程序博客网 时间:2024/06/09 23:09
转载:http://www.phppan.com/2010/05/mysql-delimit/
第一次写MySQL存储过程遇到的关于DELIMITER的问题
在很久很久以前写过Oracle的存储过程,昨天由于某些特殊的原因导致需要在MySQL中写一些存储过程,只能现学现用了
首先写了一个非常简单的存储过程,但是就是如此简单的过程也报错了,其代码如下:
在phpmyadmin及客户端都报错,在phpmyadmin中显示:#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 3
显然,程序在第一个分号后面出错了
原因不明,遂google之,找到如下地址:http://www.cnblogs.com/hsqzzzl/archive/2008/02/21/1076646.html
文章作者有说:分隔符是通知MySQL客户端已经输入完成的符号。一直都是用“;”,但是在存储过程中不行,因为存储过程中很多语句都需要用到分号
于是得到如下所示代码
如果不想使用DELIMITER,在phpmyadmin中执行命令时,在Delimiter文本框中填写||
另在百度百科中有说明:http://baike.baidu.com/view/3068266.htm
MySQL中delimit命令。
这个命令与存储过程没什么关系。
其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
即改变输入结束符。
默认情况下,delimiter是分号“;”。
在命令行客户端中,如果有一行命令以分号结束,
那么回车后,mysql将会执行该命令。
但有时候,不希望MySQL这么做。因为可能输入较多的语句,且语句中包含有分号。
默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。
因为mysql一遇到分号,它就要自动执行。
这种情况下,就可以使用delimiter,把delimiter后面换成其它符号,如//或$$。
此时,delimiter作用就是对整个小段语句做一个简单的封装。
此命令多用在定义子程序,触发程序等musql自己内嵌小程序中。
- 第一次写MySQL存储过程遇到的关于DELIMITER的问题
- MySQL中存储过程无限报错的问题(delimiter)
- 用mysql写存储过程中遇到的问题
- 第一次写的存储过程
- 第一次写的存储过程
- mysql(sqlyog) 创建存储过程的delimiter//不识别
- mysql存储过程中遇到的问题
- MySql学习存储过程遇到的问题
- MySql存储过程遇到的问题
- mysql 存储过程遇到的小问题
- 使用DELIMITER创建存储过程的用法
- 第一次写项目遇到的问题
- 记录第一次写HTML遇到的问题
- 第一次写博客 写点 关于SqlServer全文索引和存储过程的个人思想
- 投票系统的Mysql存储过程遇到的一些问题.
- MySQL 授权用户 ; 存储过程的DEFINER; 命令分隔符DELIMITER
- MySQL 授权用户 ; 存储过程的DEFINER; 命令分隔符DELIMITER
- 第一次mysql遇到的问题的解决
- sharepoint 2007 Force SharePoint Document Unlocked / Checked In
- SendMessage 函数
- 安装setuptools的问题
- 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结
- 一个小程序员3个月的学习历程
- 第一次写MySQL存储过程遇到的关于DELIMITER的问题
- 海量数据处理
- 在Ubuntu 10.04下安装Google拼音输入法
- 重新安装一个linux系统后如何快速搭建可用于开发板nfs挂载根文件系统的过程
- systemd 的工具与技巧提示
- 《JavaWeb---简单应用---服务器向客户端提供音乐资源(二)》---歌曲展示页面提升,实现渐变色显示,选中行变色
- CBN_SELCHANGE
- java web(二) struts2入门一
- 常用数据结构