SQL-4大板块(存储过程、函数、视图、触发器)

一、 存储过程(做复杂运算)

1.做复杂运算,是对变量做运算;

2.可以对多个表进行update、insert、delete、select、query;

3.可以在最终结果返回多个表,但是对对接环境有苛刻要求,比如:VB不支持接收返回多个表

4.当一个查询语句无法实现,或者语句查询速度很慢时,想提高效率就会用到存储过程。先把需要的数据沉淀到结果表中,然后直接查询结果表,以此提高效率。

5.存储过程,为第三方提供了可以处理业务的接口,返回的是结果集;

6.存储过程只在创建时进行编译,以后执行存储过程都不需要再重新编译,而一般SQL语句每执行一次就会编译一次,所以使用存储过程的执行速度会高。

二、 函数(标量函数、表值函数)

1.标量函数:一定是有输入参数的,但个数不限,至少一个。

输入参数,返回数值

对于标量值函数来说,是需要加上所有者的,即dbo.

2.表值函数:输入参数,返回一个表

对于表值函数调用是不需要所有者的,即dbo.,只要写函数名称就可以

3.函数可以作为查询语句的一个部分来调用

三、 视图(单查询语句)

1.不可以声明变量,从创建视图的那一刻起,就把它当做是一个单查询语句

2.使用视图计算值,如汇总值

3.视图就是一个表或多个表的映射,一般只做查询使用。如想要的数据在两个表中,但又不想每次都写关联语句去查询,那么就可以创建一个视图,以后也可以只查这个视图

4.在保密性方面,视图只展示我们需要的字段,其他字段信息不会外露

5.视图,不能处理业务的接口,返回的是结果集;

四、 触发器(管理客户端无法实现约束限制的数据)

1.客户端有时无法对一批数据中的某些特殊数据做限制,此时可以用触发器,当SQL检测到这些特殊数据想要传进来时,触动触发器,对这些特殊数据做相应处理、

2.做数据库操作时,想达到数据同步的效果,就可以用触发器。比如:向A表插入数据时,同时向B表插入。这样触发器在每次往A表插入数据时,就会自动往B表里插数据了。

3.触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行。

相关推荐
风和先行1 小时前
Android 数据库相关学习总结
android·数据库·学习
宠友信息2 小时前
Spring Boot与异步审核构建仿小红书源码内容发布全流程
java·数据库·spring boot·redis·mysql·oracle·uni-app
2401_873479402 小时前
如何识别代理IP和伪装流量?用IP情报工具三步穿透住宅代理伪装
网络·数据库·网络协议·tcp/ip·ip
诚信定制8392 小时前
如何启动 Redis 服务:详细步骤指南
数据库·redis·缓存
AllData公司负责人2 小时前
数据同步平台|AIIData数据中台实现MySQL、Hive、Kafka 一键接入Doris
大数据·数据库·hive·mysql·kafka·实时同步
Edward111111112 小时前
一AI名词
java·开发语言·数据库·学习
hey you~2 小时前
400电话选型技术测评:一个开发视角的线路质量评估方案
运维·网络·数据库·400电话·企业通信
Database_Cool_3 小时前
实时计数器/排行榜首选:阿里云 Tair 高并发数据结构实践
数据结构·数据库·阿里云·云计算
言乐63 小时前
Python视频相对亮度检测
数据库·python·计算机视觉·小程序·音视频
snow@li3 小时前
中台:中台即复用 / 理解企业架构中的能力抽象与分层共享 / 中台体系全景梳理 / 共性能力抽象、沉淀并复用
数据库