触发器,函数,视图,存储过程

触发器:是一个特殊的存储过程,它是mysql在insert,update,delete的时候自动执行的代码块.

 create trigger trigger_name

   after/before insert /update/delete on 表名

   for each row

   begin

   sql语句:(触发的语句一句或多句)

   end

函数:mysql中提供了许多内置函数,还可以自定义函数(实现程序员需要的sql逻辑处理)

自定义函数创建语法

   创建:CREATE FUNCTION 函数名称(参数列表)  

        RETURNS 返回值类型  函数体

   修改: ALTER FUNCTION 函数名称 [characteristic ...]

   删除:DROP FUNCTION [IF EXISTS] 函数名称

   调用:SELECT 函数名称(参数列表)

视图:视图是由查询结果形成的一张虚拟表,是表通过某种运算得到的一个投影

create view view_name as select 语句

存储过程:把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现(经过第一次编译后再次调用不需要再次编译,比一个个执行sql语句效率高)

 create procedure 存储过程名(参数,参数,…)

   begin

   //代码

   end

本文转载自:https://blog.csdn.net/miaoqinian/article/details/80787592

原文地址:https://www.cnblogs.com/ghl666/p/11371909.html

时间: 2024-10-14 15:15:03

触发器,函数,视图,存储过程的相关文章

MySQL 之【视图】【触发器】【存储过程】【函数】【事物】【数据库锁】【数据库备份】

1.视图 2.触发器 3.存储过程 4.函数 5.事物 6.数据库锁 7.数据库备份 1.视图 视图:是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据 视图有如下特点; 1. 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系. 2. 视图是由基本表(实表)产生的表(虚表). 3. 视图的建立和删除不影响基本表. 4. 对视图内容的更新(添加.删除和修改)直接影响基本表. 5. 当视图来自多个基本表时,不允许添加,修改和删除数据. 1.创建视图 cre

MySQL 视图、触发器、函数、存储过程

1.视图 视图的概念 视图就是一条 select 语句执行后返回的结果集. 视图的特性 视图是对若干张基本表的引用,一张虚表,查询语句的执行结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变) 视图的作用 方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性:更加安全,数据库授权命令不能限定到特定的行和特定的列,但通过合理创建视图,可以把权限限定到行列级别: 应用场景 1.权限控制的时候,不希望用户访问表中某些敏感信息的列 2.对表进行复杂的关联查询时 示例: 查询小飞上的所以

触发器 函数 存储过程

触发器 函数 存储过程 Table of Contents 触发器 函数 控制语句 使用局部变量 存储过程 游标 触发器 before update after update before delete after delete before insert after insert drop table if exists test; create table test( id int ); insert into test(id) values(1), (2); create table te

Java学习总结(十八)——MySQL数据库(4)MySQL数据库中的视图,函数,存储过程中常见循环

一.MySQL存储过程中常见的循环1.while循环:WHILE.....DO.....END WHILE例1:创建存储过程(求1+2+.......+num的和):创建成功,进行调用:显示结果:2.REPEAT循环: REPEAT.........UNTLL END REPEAT例2:创建存储过程:创建完成,调用存储过程:显示结果:3.LOOP循环:LOOP END LOOP 例3:创建存储过程:创建成功,调用存储过程:显示结果:二.MySQL中的视图1.概念:有结构(有行有列),但没有结果(

PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. 它具有面向对象程序设计语言的特点,是对这些PL/SQL 程序设计元素的封装.包类似于JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法. create or replace package stuinfo as type stucur is ref cursor; proce

Sql Server函数和存储过程

SQL Server函数是一种封装一条或多条SQL语句的结构. SQL Server函数分为系统函数和用户自定义函数两种. 标量值函数:标量值函数的返回值是基本数据类型的单个值或单个值得表达式. 函数体既可以是一条语句,也可以是多条语句. 创建标量值函数 语法: CREATE FUNCTION [schema_name.]function_name([{@parameter_name parameter_data_type[=default_value]}[...n]])RETURNS retu

2014.9.12触发器.索引.视图.游标

(一)触发器 什么是触发器? 触发器是一种特殊类型的存储过程,它不同于存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. 触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器. 1.after触发器(之后触发) insert触发器 update触发器 delete触发器 2.instead of 触发器 (之前触发) 其中after触发器要求只

SQL基础系列(3)-变量、函数、存储过程等

1.    变量 1 定义变量 2 3 DECLARE @a INT 4 5 赋值 6 7 SET @a=1 8 9 PRINT @a 10 11 DECLARE @name NVARCHAR(30) 12 13 --select 赋值 14 15 SELECT @name='zcx' 16 17 PRINT @name 18 19 SELECT @name=FirstName FROM dbo.Persons 20 21 PRINT @name 22 23 24 25 DECLARE @nam

代码收藏系列--mysql创建数据库、数据表、函数、存储过程命令

创建mysql数据库 CREATE DATABASE IF NOT EXISTS `database_name` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建mysql数据表 drop table if exists `table_name`; create table if not exists `table_name` ( id int auto_increment primary key comment '主键编号', `name` va