数据库常见面试题

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1.存储过程和函数的区别

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

2.事务是什么?

事务是作为一个逻辑单元执行的一系列操作一个逻辑工作单元必须有四个属性称为 ACID原子性、一致性、隔离性和持久性属性只有这样才能成为一个事务:

原子性事务必须是原子工作单元;对于其数据修改要么全都执行要么全都不执行。

一致性事务在完成时必须使所有的数据都保持一致状态。在相关数据库中所有规则都必须应用于事务的修改以保持所有数据的完整性。事务结束时所有的内部数据结构如 B 树索引或双向链表都必须是正确的。

隔离性由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态要么是另一并发事务修改它之前的状态要么是另一事务修改它之后的状态事务不会查看中间状态的数据。这称为可串行性因为它能够重新装载起始数据并且重播一系列事务以使数据结束时的状态与原始事务执行的状态相同。

持久性事务完成之后它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

3. 游标的作用?如何知道游标已经到了最后?

游标用于定位结果集的行通过判断全局变量@@FETCH_STATUS可以判断是否到了最后通常此变量不等于0表示出错或到了最后。

4. 触发器分为事前触发和事后触发这两种触发有和区别。语句级触发和行级触发有何区别。

事前触发器运行于触发事件发生之前而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。

语句级触发器可以在语句执行前或后执行而行级触发在触发器所影响的每一行触发一次。

https://www.bilibili.com/video/BV1eW4y177VH/?spm_id_from=333.999.0.0

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 数据库