首页 > 数据库 > SQL Server > 正文

解析SQL Server 2000视图问题

2024-08-31 00:46:17
字体:
来源:转载
供稿:网友

视图的好处,它可以横纵分割表,在视图上的可以执行与在表上一至的操作,如: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上建立的一个唯一簇集索引。 (责任编辑:王瑞)

相关文章:

深入了解SQLServer系统数据库工作原理

改进SQL Server数据库系统安全五步走

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表