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