存储过程 触发器 视图

视图

视图只是一种逻辑对象,是一种虚拟表,它并不是物理对象,因为视图不占物理存储空间,在视图中被查询的表称为视图的基表,大多数的select语句都可以用在创建视图中
优点:集中用户使用的数据,掩码数据的复杂性,简化权限管理以及为向其他应用程序输出而重新组织数据等等。
语法:

create view view_name [(column[,...n])]
     with encryption
     as select_statement
     with check option
存储过程

存储过程是存储在服务器上的一组预编译的Transact-SQL语句,存储过程是一种封装重复任务操作的一种方法,支持用户提供的变量,具有强大的编程功能
优点:与其他应用程序共享应用程序的逻辑,因此确保一致的数据访问和操纵。提供一种安全机制加速存储过程的执行,提高系统的性能减少网络交通
存储过程的类型:系统存储过程、本地存储过程、临时存储过程、远程存储过程和扩展存储过程。不同类型的存储过程具有不同的作用。
执行存储过程有两种方法:
方法一:直接执行存储过程,就是调用execute语句来执行存储过程
方法二:在insert语句中执行存储过程
语法:

 create procedure procedure_name
     @parameter data_type
       with{recompile|encryption|recompile,encryption}
          as sql_statement
触发器

当有操作影响到触发器保护的数据时,触发器就自动发生,因此,触发器是在特定表上进行定义的,该表也称为触发器表,也是一种特殊类型的存储过程,与存储过程的区别:存储过程可以由用户直接调用执行,但是触发器不能被直接调用执行。
触发器的类型:insert类型,update类型,delete类型。
工作原理:
(insert)当向表中插入数据时,insert触发器触发执行,当insert触发器触发时,新的记录增加到触发器表中和inserted表中。触发器可以检查inserted表,来确定该触发器的操作是否应该执行和如何执行,在inserted表中的那些记录,总是触发器表中一行或多行记录的冗余;
(delete)当触发一个delete触发器时,被删除的记录放在一个特殊的deleted表中。deleted表是一个逻辑表,用来保存已经从表中删除的记录;
(update)修改一条记录就等于插入一条新记录和删除一条旧记录,当在某一个update触发器表的上面修改一条记录时,表中原来的记录移动到deleted表中,修改过的记录插入到了inserted表中,触发器可以检查deleted表和inserted表以及被修改的表。
语法:

语法:   create trigger trigger_name

    on {table |view}

    with encryprion

    {for|after|instead of}{[delete][,][insert][,][update]}

    as sql _statement

聚集索引和非聚集索引
http://www.cnblogs.com/aspnethot/articles/1504082.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值