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

MSSQL
SQLServer中求两个字符串的交集
SQL Server 触发器 表的特定字段更新时,触发Update触发器
SQL 查询分析中使用net命令问题
SQLServer 批量导入目录文件
sql语言中delete删除命令语句详解
Linq to SQL 插入数据时的一个问题
一个简单的SQL 行列转换语句
SQLServer 常用语句(按功能分)
SQLServer 管理常用SQL语句
SQL Server 2000中的触发器使用
SQL小技巧 又快又简单的得到你的数据库每个表的记录数
Sql Server 2000删除数据库备份文件
批量更新数据库所有表中字段的内容,中木马后的急救处理
sqlserver 通用分页存储过程
远程连接局域网内的sql server 无法连接 错误与解决方法
目前用到的两个分页存储过程代码
sqlserver 多表关联时在where语句中慎用trim()方法
Sql2005注射辅助脚本[粗糙版]
sql 2005不允许进行远程连接可能会导致此失败的解决方法
MSSQL2005数据库备份导入MSSQL2000

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 129 ::
收藏到网摘: 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-