视图的创建,查看和修改触发器的简单语法和存储过程
什么是视图?
视图的作用
◆视图的含义:
试图是一个虚拟表,是从数据库中一个或者多个表中导出来的表。视图还可以从已经存在的视图的基础上定义
视图的优点:
◆视图的作用
◼简单性
◼安全性
◼逻辑数据独立性
视图的创建:
语法:
示例:创建视图
- create view 视图名
- as
- select 字段名1,字段名2,字段名 N from 表名
示例:查询视图
根据视图所对应的子查询种类分为几种类型:
- SELECT语句是基于单表建立的,且不包含任何函数运算、表达式或分组函数,叫做简单视图,此时视图是基表的子集;
- SELECT语句同样是基于单表,但包含了单行函数、表达式、分组函数或GROUP BY子句,叫做复杂视图; SELECT语句是基于多个表的,叫做连接视图。
注意!!!!视图的修改 会直接影响实表的数据
触发器
触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。
什么是触发器:
-
触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。
-
触发器一般用在check约束更加复杂的约束上面。
-
触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。
-
SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有create、alter、drop语句。
触发器语法:
create trigger tri_test1
after insert on 表名
for each row
begin
update 表名 set num=num-new.字段名 where 字段名### =new.字段名;
end;
触发器创建语法四要素:
触发器new old
◼insert语句,只有new是合法的。
◼delete语句,只有old是合法的。
◼update语句,new和old可以同时使用
示例
添加一笔订单
删除一笔订单
修改一笔订单
存储过程
◆概念
◼存储过程能完成一定操作的一组SQL语句
◆作用
◼大大提高效率(存储过程本身执行速度非常快,调用存储过程大大减少数据库交互次数);提高代码重用性
创建存储过程:
语法:
create procedure sp_name(proc_parameter[…])
begin
[characteristic …] routine_body
end
◆带参存储过程
◼in参数示例
创建带参数(in)的存储过程
- CREATE procedure pro2( in n int)
BEGIN
select StudentName from studentinfo
where GradeID=n;
END
【以上可以看出,n虽然在存储过程中被修改,但不影响@n的值】
示例
存储过程的调用
CALL SP_NAME([parameter[,…]])