zoukankan      html  css  js  c++  java
  • 简述触发器、函数、视图、存储过程?

    触发器:触发器是一个特殊的存储过程,它是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

    1、视图

    视图只是一种逻辑对象,是一种虚拟表,它并不是物理对象,因为视图不占物理存储空间,在视图中被查询的表称为视图的基表,大多数的select语句都可以用在创建视图中(说白了,视图就是一种虚拟表,就像是一张电子照片

    优点:集中用户使用的数据,掩码数据的复杂性,简化权限管理以及为向其他应用程序输出而重新组织数据等

    2、触发器

    (1)触发器是一个特殊的存储过程,它是MySQL在insert、update、delete的时候自动执行的代码块。

    (2)触发器必须定义在特定的表上。

    (3)自动执行,不能直接调用,

    说白了,触发器其实就是一个神,他会待在自己的庙宇中,当百姓受难了,通过一些祷告仪式,如insert、update、delete,他会自动的进行降妖除魔!

    3、函数

    它跟php或js中的函数几乎一样:需要先定义,然后调用(使用)。

    只是规定,这个函数,必须要返回数据——要有返回值

    4、存储过程

    存储过程(procedure),概念类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现。在封装的语句体里面,可以同if/else ,case,while等控制结构,可以进行sql编程,查看现有的存储过程。

  • 相关阅读:
    bzoj4165 矩阵 堆维护多路归并
    bzoj2802 [Poi2012]Warehouse Store 贪心+堆
    bzoj1367 [Baltic2004]sequence 左偏树+贪心
    bzoj3011 [Usaco2012 Dec]Running Away From the Barn 左偏树
    uoj207 共价大爷游长沙 子树信息 LCT + 随机化 + 路径覆盖
    bzoj4764 弹飞大爷 LCT
    bzoj4817 & loj2001 [Sdoi2017]树点涂色 LCT + 线段树
    bzoj5020 & loj2289 [THUWC 2017]在美妙的数学王国中畅游 LCT + 泰勒展开
    bzoj4998 星球联盟 LCT + 并查集
    bzoj3091 城市旅行 LCT + 区间合并
  • 原文地址:https://www.cnblogs.com/Rivend/p/12099970.html
Copyright © 2011-2022 走看看