Java面试题-day26 数据库之存储过程和触发器

云惠网小编 2022年1月15日15:18:30
评论
1308字阅读4分21秒
摘要

写在前面????作者简介:大家好,我是 爪哇小白2021。喜欢用文字记录生活,很乐于与大家交流各种技术,共同进步!点赞 ➕ 评论 ➕ 收藏 == 养成习惯???? 总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 ????✉️ 人生的“最后的目的”究竟是什么? 答案可能是:人生根本没有目的。存储过程和触发器1) 存储过程和函数存储过程重在处理数据,函数可以返回值 存储过程是procedure用户定义的一系列sql语句的集合,涉及特定表或其它对象 的任务,用户可以调用

广告也精彩

create proc select_query @year int
as
select * from tmp where [email protected]

写在前面

  • 💖作者简介:大家好,我是 爪哇小白2021
  • 喜欢用文字记录生活,很乐于与大家交流各种技术,共同进步!
  • 点赞 ➕ 评论 ➕ 收藏 == 养成习惯
  • 💬 总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊
  • ✉️ 人生的“最后的目的”究竟是什么? 答案可能是:人生根本没有目的。

2)对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象。函数只 能返回一个变量;而存储过程可以返回多个。存储过程的参数可以有IN,OUT,INOUT三 种类型,而函数只能有IN类~~存储过程声明时不需要返回类型,而函数声明时需要描 述返回类型,且函数体中必须包含一个有效的RETURN语句。

简单的存储过程:

存储过程: 是一组为了完成特定功能的SQL语句集,利用SQL Server所提供的T-SQL语言所编写的程序,经编译后存储在数据库中。

优点:

  1. 执行速度快。存储过程只在创造时进行编译,以后每次执行不需再重新编译,一般SQL语句每执行一次就编译一次
  2. 存储过程可重复使用
  3. 安全性高。(可设定只有某些用户才具有对指定存储过程的使用权)
  4. 当对数据库进行复杂操作时,可完成复杂的判断和较复杂的运算,可用存储过程封装起来
  5. 易于维护和集中控制。当企业规则变化时在服务器中改变存储过程即可,无须修改应用程序

存储过程和触发器

存储过程重在处理数据,函数可以返回值

3)存储过程一般是作为一个独立的部分来执行( EXECUTE 语句执行),而函数可以作为 查询语句的一个部分来调用(SELECT调用),由于函数可以返回一个表对象,因此它可 以在查询语句中位于FROM关键字的后面。 SQL语句中不可用存储过程,而可以使用 函数。

存储过程是procedure用户定义的一系列sql语句的集合,涉及特定表或其它对象 的任务,用户可以调用存储过程
函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定 用户表。

2) 存储过程的概念、优点(或特点),写一个简单的存储过程

  1. 触发器:触发器可以看成一个特殊的存储过程,存储过程是要显式调用去完成,而触发器可以自动完成。比如:当数据库中的表发生增删改操作时,对应的触发器就可以执行对应的PL/SQL语句块。

  2. 作用:维护表的完整性,记录表的修改来审计表的相关信息。
    分为:
    DML触发器: 当数据库服务器中发生数据操作语言事件时执行的存储过程。分为:After触发器和Instead Of触发器
    DDL触发器特殊的触发器,在响应数据定义语言(DDL)语句时触发。一般用于数据库中执行管理任务
    DDL触发器是响应Create、 Alter或Drop开头的语句而激活

 存储过程和函数存在以下几个区别:

1) 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
存储过程,功能强大,可以执行包括修改表等一系列数据库操作;用户定义函数不能用于执行一组修改全局数据库状态的操作。

3) 触发器

1) 存储过程和函数

本文转自 https://blog.csdn.net/m0_56368068/article/details/122485076

腾讯云618
云惠网小编
SpringCloud -- Config、Bus解析 java

SpringCloud — Config、Bus解析

1、Config1.1、概述简介1. 分布式面临的问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要...
Java数据结构-了解复杂度 java

Java数据结构-了解复杂度

2.实例分析与计算  四.写在最后  // 计算斐波那契递归fibonacci的时间复杂度 int fibonacci(int N) { return N < 2 ? N : fibonacci...
Java数据结构-认识顺序表 java

Java数据结构-认识顺序表

目录二.顺序表1.概念及结构2.顺序表的实现打印顺序表获取顺序表的有效长度在pos位置新增元素判断是否包含某个元素查找某个元素对应的位置获取/查找pos位置的元素给pos位置的元素...
腾讯云618

发表评论