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

MSSQL
正确配置和使用SQL mail
关于DTS导入导出丢失默认值等对象
TOP N 和SET ROWCOUNT N 哪个更快
如何在视图中使用ORDER BY短语
如何区分大小写比较?
如何将作为字符串保存的IP地址变为二进制数值?
如何随机选取n条记录或者对记录作随机排序?
SQL脚本生成的一些BUG
如何使Microsoft SQL Server的日志文件不会增大?
利用事务日志来恢复Update、Delete误操作引起的数据丢
关于MSSQL占用过多内存的问题
SQL Server非正常删除日志文件(ldf)恢复方法
处理孤立用户的存储过程
1069错误(由于登录失败而无法启动服务)解决方法
SQL Server 7.0数据库的六种数据移动方法
利用SQL Server的扩展属性象access一样显示列的注释
Stored Procedure(存储过程)编写经验和优化措施
更新你的联机丛书
关于SQL Server中几个未公布的访问注册表的扩展存储过
存储过程替换text,ntext列中的字符串

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


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