WEB开发网
开发学院数据库MSSQL Server 细说Sql Server中的视图(下) 阅读

细说Sql Server中的视图(下)

 2009-06-19 10:29:26 来源:WEB开发网   
核心提示: 如: 1:CREATEVIEWv22:WITHENCRYPTION,SCHEMABINDING,VIEW_METADATA3:AS4:SELECTOrderIDFROMdbo.Orders5:WITHCHECKOPTION 1),ENCRYPTION如果你在构建任何类型的商业软件的时候,

如:        

  1: CREATE VIEW v2
  2: WITH ENCRYPTION,SCHEMABINDING,VIEW_METADATA
  3: AS
  4: SELECT OrderID FROM dbo.Orders
  5: WITH CHECK OPTION

1),ENCRYPTION

如果你在构建任何类型的商业软件的时候,需要对视图进行加密的时候,这是一个不错的选项。

如果未指定ENCRYPTION选项,SQLSERVEr则以纯文本的形式保存用户定义的语句,如果指定了ENCRYPTION选项,对象的文本则会被混淆。

SQLSERVER提供了一个系统函数sp_helptext查看视图的文本,如果应用的ENCRYPTION选项,则会得到“The text for object ‘xx’ is encrypted”语句;

注:在加密之前一定要先备份你所要加密的视图,一旦加密,就不能回头。

2),SCHEMABINDING

如果你使用SCHEMABINDING选项创建视图,SQLSERVER将不允许删除基础表或修改被引用的列,防止在对底层对象修改时,使视图变得“孤立”,如果某人没有注意到你的视图,执行了DROP,删除视图引用的列或其他一些操作,那就很糟糕。如果使用SCHEMABINDING选项,则就可以避免这种情况。

如果想在视图上创建索引,则必须使用SCHMABINDING选项;

如果应用这个选项,则定义视图的时候要注意两点:

1,所有对象必须由两部分构成的名称,如:应该使用dbo.Orders 而不能是Orders

2,不能在SELECT列表使用*,所有的列名必须指定一个名称;

3),CHECK OPTION

使用WITH CHECK OPTION 创建的视图能防止与视图查询筛选器有冲突的INSERT或UPDATE语句。没有该选项,视图可以接受不符合查询筛选器的修改。比如:

上一页  1 2 3 4 5  下一页

Tags:细说 Sql Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接