SQL高级:存储过程和触发器

2023-12-31 23:33:08

在前面的内容中,我们学习了视图的概念和使用,视图实际上代表了一种自定义的结果集,可以理解为一个虚拟表。它诠释了部分数据的逻辑关系,但并不会操作数据。

如果有一些需求可以通过多个DML SQL组合起来完成,我们就可以使用存储过程。存储过程可以类比其他编程语言中的方法,有输入输出。只不过从业务逻辑转化来的代码,是用SQL自己的一套符号体系。

有时候我们可能需要一些逻辑随着增删改自动执行,这个时候我们就可以用到触发器。那么下面让我们以MySQL为例,来分别学习一下他们。

存储过程

定义格式

存储过程的定义格式如下

DELIMITER //

CREATE PROCEDURE procedure_name (parameter1 data_type, parameter2 data_type, ...)
BEGIN
    -- SQL statements
END //

DELIMITER ;

其中,

DELIMITER //  改变语句分隔符,以防止触发器中的分号与默认分隔符出现冲突。有时候多条SQL会用到分号,使用delimiter 可以短范围改变分隔符,方便语句编写;

DELIMITER ;

文章来源:https://blog.csdn.net/zcy_wxy/article/details/135320104
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。