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

2023-09-15 10:38:51

一、 存储过程(做复杂运算)
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.触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行。

更多推荐

pymysql执行非查询语句会自动提交事务,关闭事务自动提交

一、前置条件在mysql数据库生成数据:CREATEDATABASEmydatabase;CREATETABLECourse(CourseIDINTPRIMARYKEY,CourseNameVARCHAR(100),InstructorVARCHAR(100),CreditsINT,StudentIDINT,FOREI

并发编程系列 - ReadWriteLock

实际工作中,为了优化性能,我们经常会使用缓存,例如缓存元数据、缓存基础数据等,这就是一种典型的读多写少应用场景。缓存之所以能提升性能,一个重要的条件就是缓存的数据一定是读多写少的,例如元数据和基础数据基本上不会发生变化(写少),但是使用它们的地方却很多(读多)。针对读多写少这种并发场景,JavaSDK并发包提供了读写锁

国家高新技术企业认定,难点解析!

2022年国家高新技术企业认定最新变化从2021年开始,国家高新技术企业认定评审将进一步从严把控,新规定体现在:1、企业申报高企当年申请或转让的专利、知识产权不予计分,知识产权获得要有延续性,如企业所有知识产权获证的时间都是同一时间段,会被质疑为临时包装,不被认可或分数极低。2、企业系统填报的软件著作权,区级组织现场考

【Python】Python 时域到频域的变换方法

Python时域到频域的变换方法时域到频域的变换方法是信号处理中一个非常重要的概念,它将时域上的信号转换为频域上的信号,方便我们对信号频率特性的分析和处理。一、傅里叶变换傅里叶变换是时域到频域转换的一种常用方法,它将时域上的信号转换成一个连续的复数函数,表示信号在各个频率上的成分。在具体的实现中,可以使用Python中

再想一想GPT

一前言花了大概两天时间看完《这就是ChatGPT》,触动还是挺大的,让我静下来,认真地想一想,是否真正理解了ChatGPT,又能给我们以什么样的启发。二思考在工作和生活中,使用ChatGPT或文心一言,逐渐形成了习惯,总想听听它们的意见。无论是小学作文还是小的编程测试例子,大部分情况下还是能够给我一个比较靠谱的意见,而

JAXB(Java Architecture for XML Binding)下载、使用

简介JAXB(JavaArchitectureforXMLBinding)就是XML数据绑定的java架构。JAXB可以根据XMLSchema生成java类,也能根据java类生成XMLSchema,XML数据绑定指定了XML请求和XML响应如何映射成java对象。JAXB提供了API和工具,可以自动在XML文档和ja

激活函数总结(四十一):激活函数补充(ShiLU、ReLUN)

激活函数总结(四十一):激活函数补充1引言2激活函数2.1ShiLU激活函数2.2ReLUN激活函数3.总结1引言在前面的文章中已经介绍了介绍了一系列激活函数(Sigmoid、Tanh、ReLU、LeakyReLU、PReLU、Swish、ELU、SELU、GELU、Softmax、Softplus、Mish、Maxo

[C++ 网络协议] 套接字和标准I/O

1.标准I/O函数的优缺点优点一:标准I/O函数具有良好的移植性。为了支持所有系统,标准I/O函数都是按照标准来定义的。适用于所有编程领域。优点二:标准I/O函数可以利用缓冲提高性能。使用标准I/O函数会得到额外的缓冲支持,当创建套接字时,操作系统将会生成一个用于I/O的缓冲,同时,当你使用标准I/O函数,将会得到另一

8.gec6818开发板通过并发多线程实现电子相册 智能家居 小游戏三合一完整项目

并发前面编写的程序都是从mian函数开始,从上往下执行,称为顺序执行假设一个程序需要I输入C计算P输出,以顺序执行三个上述程序,则其执行过程如下:程序内部的语句是一条一条的执行,如果要运行多个程序,这些程序也是一个一个的依次执行,若上述的三种操作,每种操作需要的时间都是t,则执行上述三个程序共需要9t而在上述程序的执行

探索AI图像安全,助力可信AI发展

探索AI图像安全,助力可信AI发展0.前言1.人工智能发展与安全挑战1.1人工智能及其发展1.2人工智能安全挑战2.WAIC2023多模态基础大模型的可信AI2.1WAIC2023专题论坛2.2走进合合信息3.AI图像安全3.1图像篡改检测3.2生成式图像鉴别3.3OCR对抗攻击技术4.可信AI技术标准小结相关链接0.

具体项目下解决Echarts多端同步开发和维护的问题

具体问题场景PC端和移动端需要同时上线图表功能(没有多余工时)之后的版本迭代(功能、样式、配置等)默认双端同步,开发人员只希望维护一套代码Echarts在移动端有部分功能不兼容不支持Echarts在移动端的坑①移动端页面使用echarts4中的地图组件,并添加省份的点击事件,响应click无效,eharts也不支持ta

热文推荐