当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:22:00  来源:本站整理

SQL Server数据库技术(87)[MSSQL防范]

赞助商链接



  本文“SQL Server数据库技术(87)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
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 区、数据后果区(此时对话框中的四个区都是空白的);
SQL Server数据库技术(87)
????(3) 在成立视图时,首先点击SQL Server数据库技术(87)按钮,翻开增添表对话框,如图13-2 所示;
SQL Server数据库技术(87)
????(4) 在列区中挑选将包含在视图的数据列,此时呼应的SQL SERVER 脚本便显示在SQL script 区;
????(5) 单点SQL Server数据库技术(87)按钮,在数据后果区将显示包含在视图中的数据行;
????(6) 单击SQL Server数据库技术(87)按钮,在弹出对话框中输入视图名,单击"保存"完成视图的成立.

2、Transact-SQL 号令成立视图
????利用Transact-SQL 号令CREATE VIEW 成立视图的语法格局为:
SQL Server数据库技术(87)
????各参数的含义阐明以下:
??????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 选项,并且包含函数列.
SQL Server数据库技术(87)
????由于利用了WITH CHECK OPTION, 所以当对视图举行改正时,将返回错误信息.比方履行以下语句:
SQL Server数据库技术(87)
????返回错误信息为:
SQL Server数据库技术(87)

13.10.2 管理视图
????1、查看、改正视图
????在SQL SERVER 中,通过SQL SERVER Enterprise Manager 查看和改正视图主要履行以下步骤:
????(1) 启动SQL SERVER Enterprise Manager,登录到指定的服务器;
????(2) 翻开要成立视图的数据库文件夹,选中view 图标,此时在右面的窗格中显示当前数据库的全部视图;
????(3) 右击要查看的视图,在弹出菜单中挑选Properties 选项,翻开View Properties 对话框,如图13-3 所示;
SQL Server数据库技术(87)
????(4) 在该对话框内可浏览到该视图的正文,也可以对该视图举行改正,然后单击Check Syntax 按钮来对语句合理性举行查抄,若要对视图的拜候权限举行设置,请单击Permissions 按钮.
????2 利用存储历程查抄视图
SQL Server数据库技术(87)

????系统历程sp_help 用来返回有关数据库对象的具体信息,假如不针对某一特定对象,则返回数据库中全部对象信息其语法以下:

????sp_help 数据库对象名称
????系统历程sp_helptext 检索出视图、触发器、存储历程的文本.其语法为:
????sp_helptext 视图(触发器、存储历程)
SQL Server数据库技术(87)

????3 删除视图
????删除视图与删除表一样都利用DROP 号令.其语法为:
????DROP VIEW 视图名
  以上是“SQL Server数据库技术(87)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .