目录
前言:...
正文:
概述
特点
基本语法
创建
调用
查看
删除
关键字delimiter解决命令行存储过程技术使用的错误
前言:...
在MySQL的使用时,可能会触及到经常使用一些特定SQL语句组合来调用MySQL中的一些数据,而经常使用一模一样的SQL调用语句会感到繁琐,这个时候MySQL就提供了存储过程技术简化调用过程,不过存储过程技术在命令行中的使用要注意结束符的影响,这个时候还需要使用到关键字delimiter。
正文:
概述
存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。
特点
-
封装,复用
可以接收参数,也可以返回数据,减少网络交互,效率提升
基本语法
创建
复制代码
1
2
3
4
5
6
7
8
9CREATE PROCEDURE 存储过程名称 ([参数列表]) -- 参数可有可无的 BEGIN -- SQL语句 END; -- eg: create procedure p1() begin select * from student; end;
调用
复制代码
1
2
3CALL 名称 ([参数]); -- eg: call p1();
查看
复制代码
1
2
3
4
5
6
7-- 查询指定数据库的存储过程及状态信息(xxx是数据库名) SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'xxx'; -- 查询某个存储过程的定义 SHOW CREATE PROCEDURE存储过程名称; -- eg: select * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'ith'; show create procedure p1;
删除
复制代码
1
2
3DROP PROCEDURE [IF EXISTS] 存储过程名称; -- eg: drop procedure if exists p1;
关键字delimiter解决命令行存储过程技术使用的错误
-
在命令行中,执行创建存储过程的SQL时,需要通过关键字delimiter指定SQL语句的结束符。
原因是因为在命令行执行存储过程语句时,会直接在第一个;处结束,而要实现存储过程要在end后面;处结束,所以要用到delimiter指定SQL语句的结束符
使用关键字delimiter如下
使用完,我们可以重写使用关键字delimiter指定原来的;为结束符,不然后续每个SQL语句的结束符都是$$了
至此,本次学习结束,欢迎大家评论区留言或者关注私信,大家一起学习进步
最后
以上就是激动烤鸡最近收集整理的关于MySQL的存储过程以及关键字delimiter指定SQL语句的结束符前言:...正文:的全部内容,更多相关MySQL内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复