创建和管理视图

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-13: 使用WITH ENCRYPTION WITH CHECK OPTION 选项,并且包含函数列。

    由于使用了WITH CHECK OPTION, 所以当对视图进行修改时,将返回错误信息。比如执行以下语句:

    返回错误信息为:


13.10.2 管理视图
    1、查看、修改视图
    在SQL SERVER 中,通过SQL SERVER Enterprise Manager 查看和修改视图主要执行以下步骤:
    (1) 启动SQL SERVER Enterprise Manager,登录到指定的服务器;
    (2) 打开要创建视图的数据库文件夹,选中view 图标,此时在右面的窗格中显示当前数据库的所有视图;
    (3) 右击要查看的视图,在弹出菜单中选择Properties 选项,打开View Properties 对话框,如图13-3 所示;

    (4) 在该对话框内可浏览到该视图的正文,也可以对该视图进行修改,然后单击Check Syntax 按钮来对语句合法性进行检查,若要对视图的访问权限进行设置,请单击Permissions 按钮。
    2 使用存储过程检查视图


    系统过程sp_help 用来返回有关数据库对象的详细信息,如果不针对某一特定对象,则返回数据库中所有对象信息其语法如下:

    sp_help 数据库对象名称
    系统过程sp_helptext 检索出视图、触发器、存储过程的文本。其语法为:
    sp_helptext 视图(触发器、存储过程)


    3 删除视图
    删除视图与删除表一样都使用DROP 命令。其语法为:
    DROP VIEW 视图名称
好的,我可以为您解答关于视图和触发器的概念、特性和使用场景,以及如何使用对象资源管理器和T-SQL语句创建管理视图和触发器。 1. 视图的概念、特性和使用场景 视图是一种虚拟的表,是基于一个或多个表的查询结果组成的。它不包含任何数据,而是通过查询实时生成数据。视图的特性包括: - 视图可以隐藏表中的特定列,只显示需要的数据。 - 视图可以对表中的数据进行过滤、排序和聚合等操作。 - 视图可以简化复杂的查询操作,提高查询效率。 - 视图可以通过授权限制用户对数据的访问权限。 视图的使用场景包括: - 简化复杂的查询操作,提高查询效率。 - 限制用户对数据的访问权限,提高数据的安全性。 - 通过数据聚合和计算,实现数据分析和报表功能。 2. 触发器的概念、特性和使用场景 触发器是一种特殊的存储过程,它在数据库表发生特定事件时自动执行。触发器的特性包括: - 触发器可以在数据插入、更新或删除时执行相应的操作。 - 触发器可以访问表中的数据,可以在触发器中进行复杂的逻辑处理。 - 触发器可以通过控制事务的提交和回滚来确保数据的完整性和一致性。 触发器的使用场景包括: - 实现数据验证和约束,确保数据的完整性和一致性。 - 实现审计和日志功能,记录数据的变化历史。 - 实现复杂的业务逻辑,例如计算字段和自动生成数据。 3. 使用对象资源管理器和T-SQL语句创建管理视图和触发器 使用对象资源管理创建视图的步骤如下: - 在SQL Server Management Studio中连接到目标数据库。 - 在对象资源管理器中展开数据库节点,右键单击视图文件夹,选择“新建视图”。 - 在“新建视图”对话框中,选择需要查询的表,定义查询条件,点击“确定”按钮。 - 在对象资源管理器中,展开视图文件夹,可以看到新创建视图。 使用T-SQL语句创建视图的语法如下: ``` CREATE VIEW view_name AS select_statement ``` 使用对象资源管理创建触发器的步骤如下: - 在SQL Server Management Studio中连接到目标数据库。 - 在对象资源管理器中展开表节点,右键单击需要创建触发器的表,选择“新建触发器”。 - 在“新建触发器”对话框中,定义触发器的名称、事件和操作,编写触发器的T-SQL语句,点击“确定”按钮。 - 在对象资源管理器中,展开表节点,可以看到新创建的触发器。 使用T-SQL语句创建触发器的语法如下: ``` CREATE TRIGGER trigger_name ON table_name AFTER INSERT, UPDATE, DELETE AS BEGIN -- 触发器的T-SQL语句 END ``` 以上就是关于视图和触发器的概念、特性和使用场景,以及创建管理视图和触发器的方法的简要介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值