Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11283427
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-17 09:20:38

视图的好处,它可以横纵分割表,在视图上的可以执行与在表上一至的操作,如:Insert、Update、Delete。这些操作与在表上的相应操作大至相同,不过也有些不同之处。在视图上进行操作的列是只属于视图的列,这些列不一定包含对应表中的所有列,所以在执行Insert操作或Update操作时,如果视图中有未被包含的列,并且这些列是Not NULL的,那么在视图上执行相应的Insert操作或Update操作时就会失败,还有在视图上如果使用了Group By、Distinct等操作时,不能执行Insert或Update操作。还有一点需要注意的是,如果视图中包含的不只是一个表,那么执行Insert或Update一次只能对视图中的某个表进行操作,也就是说,如果视图中包含了两个表A、B,那么就需要对视图执行两次Insert或Update操作,一次操作表A的各个列,一次操作表B的各个列。

  语法:

  Create View View_Name [columnname,……]

  AS Select Statement [WITH CHECK OPTION] [WITH ENCRYPTION]

  举例说明:

  Use SomeDataBase Go –这句与MySQL的一样,就是表示要进入某个数据库

  Create View SomeView –创建一个视图SomeView

  As

  Select * from UserInfo [WITH ENCRYPTION]

  –在Select 语句后加上With Encryption 表示对视图进行加密,这样其它用户查看这个视图时,就看不到视图中的内容。

  GO

  事务:

  在MS SQL Server中对事务的操作一共有四个,它们是:

  Begin Transaction、Commit、Rollback和Save Transaction。

  索引:

  索引有四种,唯一索引、簇索引、非簇索引和复合索引。

  表扫描一般用在大表返回绝大多数数据或小表查询某些数据时使用。在大表中查询有限量数据,一般使用索引。

  索引其实是一种与表中的列相绑定的对象。

  使用索引的时机:

  1.经常被查询搜索的列。

  2.在Order by子句中使用的列。

  3.是外键或主键的列。

  4.该列的值唯一的列。

  不能使用或不适合使用索引的情况:

  1.在查询中很少被引用的列。

  2.数据类型为bit、text和Image等的列不能建立索引。

  语法:

  Create [UNIQUE][CLUSTERED|NONCLUSTERED] Index index_name

  On TableName (Column [,…n])

  举例说明:

  Create UNIQUE CLUSTERED Index SomeIndex On UserInfo (UserName)

  这就是在表UserInfo的列UserName上建立的一个唯一簇集索引。

1 1
阅读(635) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~