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

MSSQL
MS-sql 2005拒绝了对对象 ''xxx'' (数据库 ''xxx'',架构 ''dbo'')的 SELECT 权限的解决方法
MSSQL 2005 LOG备份webshell的方法
快速将珊瑚虫IP数据库转MS SQL2005的图文教程
sql2005 远程连接问题解决方法
SQLServer 2005 列所有存储过程的语句
SQL Server 2005 模板参数使用说明
Sql Server 2005 默认端口修改方法
SQL Sever 2005 Express 安装失败解决办法
sql2005 根据指定字段排序编号
监视SQLServer数据库镜像[图文]
sqlserver2008 拆分字符串
字符串聚合函数(去除重复值)
SQL Server 2005 同步复制技术
SqlServer2005 链接服务器用法
SQL2008中 阻止保存要求重新创建表的更改 的解决方法
sql rollup用法 小计汇总
SQLServer 2008 Merge语句的OUTPUT功能
SQLServer 2008 新增T-SQL 简写语法
SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法
SQL2005 学习笔记 公用表表达式(CTE)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 49 ::
收藏到网摘: 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数据库系统安全五步走