~~~存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL、T-SQL)。
存储过程的优点:
能够将代码封装起来
保存在数据库之中
让编程语言进行调用
存储过程是一个预编译的代码块,执行效率比较高
一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通信速率
存储过程的缺点:
每个数据库的存储过程语法几乎都不一样,十分难以维护(不通用)
业务逻辑放在数据库上,难以迭代
~~~
视图
~~~
1.1.1. 什么是视图
视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。
视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。
创建视图的语法:
01.CREATE [OR REPLACE] VIEW view_name[(alias[, alias…])]
02.AS subquery ;
视图创建后,可以像操作表一样操作视图,主要是查询操作。
语法中的Subquery是SELECT查询语句,对应的表被称作基表。
根据视图所对应的子查询种类分为几种类型:
•SELECT语句是基于单表建立的,且不包含任何函数运算、表达式或分组函数,叫做简单视图,此时视图是基表的子集;
•SELECT语句同样是基于单表,但包含了单行函数、表达式、分组函数或GROUP BY子句,叫做复杂视图;
•SELECT语句是基于多个表的,叫做连接视图。
1.1.2. 视图的作用
如果需要经常执行某项复杂查询,可以基于这个复杂查询建立视图,此后查询此视图即可,简化复杂查询;
视图本质上就是一条SELECT语句,所以当访问视图时,只能访问到所对应的SELECT语句中涉及到的列,对基表中的其它列起到安全和保密的作用,可以限制数据访问。
~~~