当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 帮你完全了解SQL Server 2000视图问题

MSSQL
利用 Case 敘述做 SQL 的動態排列
SQL Server 2000 与 SQL Server 7.0 版兼容性问题
数据变换和转换注意事项(SQL)
浅谈优化SQLServer数据库服务器内存配置的策略
SQL2000管理SQL7服务器出现TIMEOUT问题的解决
Web环境下MS SQL Server中数据的磁带备份与恢复
SQL Server 7.0与以前的版本相比,安全模式中最重要的
如何用sql语句修改数据表中字段,实现identity(100,1)
sqlserver7.0中如何在死锁产生时自动将其杀死
Sql server使用内存限定在多少最为合适
使用MS SQL7的LINKED SERVER(一)
使用MS SQL7的LINKED SERVER(二)
使用MS SQL7的LINKED SERVER(三)
使用MS SQL7的LINKED SERVER(四)
SQL--JOIN之完全用法
总结 SQL Server 中死锁产生的原因及解决办法
数据库正规化和设计技巧
IDENTITY列的一个有用操作
聚合函数
当SQL Server数据库崩溃时如何恢复?

MSSQL 中的 帮你完全了解SQL Server 2000视图问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 55 ::
收藏到网摘: n/a

视图的好处,它可以横纵分割表,在视图上的可以执行与在表上一至的操作,如: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数据库系统安全五步走