SQLServer视图(五)

转载 2007年09月17日 17:33:00

5.限制视图所用的表或视图不能更改设计和删除

由于视图和数据表是数据库中独立的两种对象,虽然视图要引用数据表,但是当引用的数据表删除或修改时,视图本身并不会被删除或修改,因此往往在删除数据表之后,会引起视图运行错误。如果在创建视图时使用了with schemabinding参数,就可以防止引用的数据表或视图删除或修改。

例七、创建两个数据表,再创建一个带with schemabinding参数的引用这两个数据表的视图,再试图修改和删除数据表。其代码如下:

--创建两个数据表

CREATE TABLE 例七_1(

         id int IDENTITY(1,1) NOT NULL PRIMARY KEY,

         username nchar(10) NULL

)

CREATE TABLE 例七_2(

         id int IDENTITY(1,1) NOT NULL PRIMARY KEY,

         newname nchar(10) NULL

)

GO

--创建视图

CREATE VIEW view_例七

         WITH SCHEMABINDING

         AS

         SELECT 例七_1.username,例七_2.newname

                   FROM dbo.例七_1 JOIN dbo.例七_2

                            ON 例七_1.id = 例七_2.id

GO

--修改数据表

PRINT ''

ALTER TABLE 例七_1

         ALTER COLUMN username nvarchar(100)

GO

PRINT ''

ALTER TABLE 例七_2

         ALTER COLUMN newname nvarchar(100)

GO

--删除数据表

PRINT ''

DROP TABLE 例七_1

GO

PRINT ''

DROP TABLE 例七_2

GO

其运行结果如9-11所示:

11限制视图所用的表不能更改设计和删除

在图9.11中可以看出,无论是修改哪个数据表或删除数据表都会出现错误信息,不允许修改或删除。再仔细看一下创建视图的代码,有几个必须要注意的地方:

只有使用WITH SCHEMABINDING之后,才能限制被引用的数据表或视图不被修改或删除。

使用了WITH SCHEMABINDING参数后,在select语句里,不能使用select *来代表所有字段,必须指定字段名。

使用了WITH SCHEMABINDING参数后,在select语句里所用到的数据表或视图名,必须要用owner.object方式来表示。

 

Sql Server 获取指定表、视图结构

1、获取指定表、视图的所有字段属性 只要输入不同的表/视图名,就可以获取该表的所有字段名字、字段长度、字段类型、字段说明、字段是否允许为空、是否主键、是否自增长字段等。USE [数据库名称] GO ...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2015年11月19日 18:04
  • 1759

SqlServer 分区视图实现水平分表

我们都知道在数据库数据量较多的时候,可数据进行水平扩展,如分库,分区,分表(也叫分区)等。对于分表的一个方案,就是使用分区视图实现。 分区视图允许将大型表中的数据拆分成较小的成员表。根据其中一列...
  • kk185800961
  • kk185800961
  • 2015年06月13日 17:57
  • 8046

视图后面加with(nolock)后

原文出处:http://www.cnblogs.com/ASPNET2008/archive/2012/02/09/2343538.html       一些小的企业项目,往往存在很多局限性...
  • chelen_jak
  • chelen_jak
  • 2013年01月25日 10:33
  • 1733

sqlserver系统视图与存储过程应用说明

  • 2015年12月04日 17:04
  • 4KB
  • 下载

深入学习SQLServer,毕业设计论文答辩;ER模型,视图,表,存储过程,触发器,事务等的详细介绍

  • 2010年05月27日 22:30
  • 6.39MB
  • 下载

sqlserver视图

  • 2011年11月15日 19:02
  • 84KB
  • 下载

SQLSERVER2008存储结构一_系统视图.doc

  • 2010年12月12日 21:07
  • 243KB
  • 下载

SQlServer数据库生成简单的说明文档包含(存储过程、视图、数据库批量备份)小工具(附源码)

  • 2017年05月20日 11:13
  • 12.1MB
  • 下载

SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则

  • 2008年02月04日 11:27
  • 1KB
  • 下载

SQL储存过程等的解密,破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器

  • 2009年06月23日 08:00
  • 14.87MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQLServer视图(五)
举报原因:
原因补充:

(最多只允许输入30个字)