当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(90)

MSSQL
SQL Server 2005返回刚刚插入的数据条目id值
SQL Server 2000的视图中必须小心使用*符号
SQL Server 2005 SSIS技巧:动态目的文件名
SQL 2005 sa islock用户不能正常登录的现象
讲解无法打开用户默认数据库的解决方法
SQL Server中如何快速获取表的记录总数
SQL Server数据库简体繁体数据混用的问题
讲解SQL Server海量数据导入的最快方法
通向MySQL神秘王国的图形化之路
如何配置一个安全稳定的SQL Server数据库
SQL Server取得网站路径的几种方法及比较
一些文档中没有介绍的SQL Server DBCC命令
讲解SQL Server危险扩展存储删除和恢复
详细讲解删除SQL Server日志的具体方法
SQL查询效率:100w数据查询只需要1秒钟
SQL Server中多行多列连接成为单行单列
SQL Server 2000数据库FOR XML查询概述
带你深入了解数据库设计中的英文术语表
实例讲解实现SQL下的字符串拆分具体方法
通过作业调度建立SQL Server的自动备份

MSSQL 中的 SQL Server数据库技术(90)


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

13.10.1 创建视图
    SQL SERVER 提供了使用SQL SERVER Enterprise Manager 和Transac-SQL 命令两种方法来创建视图。在创建或使用视图,时应该注意到以下情况:
    • 只能在当前数据库中创建视图,在视图中最多只能引用1024 列;
    • 如果视图引用的表被删除,则当使用该视图时将返回一条错误信息,如果创建具有相同的表的结构新表来替代已删除的表视图则可以使用,否则必须重新创建视图;
    • 如果视图中某一列是函数、数学表达式、常量或来自多个表的列名相同,则必须为列定义名字;
    • 不能在视图上创建索引;不能在规则、缺省、触发器的定义中引用视图;
    • 当通过视图查询数据时,SQL SERVER 不仅要检查视图引用的表是否存在,是否有效,而且还要验证对数据的修改是否违反了数据的完整性约束。如果失败将返回错误信息,若正确,则把对视图的查询转换成对引用表的查询。

1、使用SQL SERVER Enterprise Manager 来创建视图
    在SQL SERVER 中使用SQL SERVER Enterprise Manager 来创建视图的步骤为:
    (1) 启动SQL SERVER Enterprise Manager,登录到指定的服务器;
    (2) 打开要创建视图的数据库文件夹,选中view 图标,此时在右面的窗格中显示当前数据库的所有视图,右击图标,在弹出菜单中选择New View 选项,打开New View 对话框。如图13-1。 在New View 对话框中共有四个区:表区、列区SQL script 区、数据结果区(此时对话框中的四个区都是空白的);

    (3) 在创建视图时,首先点击按钮,打开添加表对话框,如图13-2 所示;

    (4) 在列区中选择将包括在视图的数据列,此时相应的SQL SERVER 脚本便显示在SQL script 区;
    (5) 单点按钮,在数据结果区将显示包含在视图中的数据行;
    (6) 单击按钮,在弹出对话框中输入视图名,单击"保存"完成视图的创建。

2、Transact-SQL 命令创建视图
    使用Transact-SQL 命令CREATE VIEW 创建视图的语法格式为:

    各参数的含义说明如下:
    • view_name
    表示视图名称。
    • select_statement
    构成视图文本的主体,利用SELECT 命令从表中或视图中选择列构成新视图的列。
提示:但是在SELECT语句中,不能使用ORDER BY、COMPUTE、COMPUTE BY语句,不能使用INTO关键字,不能使用临时表。
    • WITH CHECK OPTION
    保证在对视图执行数据修改后,通过视图能够仍看到这些数据。比如创建视图时定义了条件语句,很明显视图结果集中只包括满足条件的数据行。如果对某一行数据进行修改,导致该行记录不满足这一条件,但由于在创建视图时使用了WITH CHECH OPTION 选项,所以查询视图时,结果集中仍包括该条记录,同时修改无效。
    • ENCRYPTION
    表示对视图文本进行加密,这样当查看syscomments 表时,所见的txt 字段值只是一些乱码。
    • SCHEMABINDING
    表示在select_statement 语句中如果包含表、视图或引用用户自定义函数,则表名、视图名或函数名前必须有所有者前缀。
    • VIEW_METADATA
    表示如果某一查询中引用该视图且要求返回浏览模式的元数据时,那么SQL Server将向DBLIB 和OLE DB APIS 返回视图的元数据信息
    例13-