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编程,查看现有的存储过程。

  • 相关阅读:
    显著提升程序员身心健康和工作效率的装备有哪些?
    谁控制了我们的浏览器?
    利用Http Authentication Url+csrf劫持路由器DNS
    如​何​删​除​G​P​T​保​护​分​区
    Linux定时器的使用
    缺少 mcrypt 扩展。请检查 PHP 配置。(phpmyadmin)
    xxx is not in the sudoers file
    linux mysql 找不到 <mysql/mysql.h>
    C++面试常见问题(持续更新)
    代码模板(new)
  • 原文地址:https://www.cnblogs.com/Rivend/p/12099970.html
Copyright © 2011-2022 走看看