人工智能

SQL Server视图中的检查选项、加密选项和模式绑定选项的使用

时间:2010-12-5 17:23:32  作者:IT科技类资讯   来源:人工智能  查看:  评论:0
内容摘要:在本文中,我们将讨论如何在SQL Server视图中使用检查选项、加密选项和模式绑定选项,并通过示例进行说明。示例数据表的创建和数据填充首先,我们需要创建两个表:Department和Employee

在本文中,图中我们将讨论如何在SQL Server视图中使用检查选项、检的使加密选项和模式绑定选项,查选并通过示例进行说明。项加项和选项

示例数据表的密选模式创建和数据填充

首先,我们需要创建两个表:Department和Employee,绑定并向这些表中插入一些示例数据。图中

复制-- 创建Department表 CREATE TABLE Department ( ID INT PRIMARY KEY,检的使 Name VARCHAR(50) ); -- 向Department表中插入测试数据 INSERT INTO Department VALUES (1, 信息技术部); INSERT INTO Department VALUES (2, 人力资源部); INSERT INTO Department VALUES (3, 销售部); -- 创建Employee表 CREATE TABLE Employee ( ID INT PRIMARY KEY, Name VARCHAR(50), Gender VARCHAR(10), DOB DATETIME, Salary DECIMAL(18,2), DeptID INT ); -- 向Employee表中插入测试数据 INSERT INTO Employee VALUES (1, 张三, 男, 1996-02-29 10:53:27.060, 25000, 1); INSERT INTO Employee VALUES (2, 李四, 女, 1995-05-25 10:53:27.060, 30000, 2); INSERT INTO Employee VALUES (3, 王五, 男, 1995-04-19 10:53:27.060, 40000, 2); INSERT INTO Employee VALUES (4, 赵六, 女, 1996-03-17 10:53:27.060, 35000, 3); INSERT INTO Employee VALUES (5, 孙七, 男, 1997-01-15 10:53:27.060, 27000, 1);1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30. 复制使用检查选项(WITH CHECK OPTION)1.

在SQL Server中,如果创建了一个带有WHERE条件的查选视图,即使后续对视图进行的项加项和选项修改违反了WHERE条件,这些更改仍然会被接受。密选模式例如,源码库绑定创建一个视图来检索IT部门的图中员工:

复制CREATE VIEW vwITDepartmentEmployees AS SELECT ID, Name, Gender, DOB, Salary, DeptID FROM Employee WHERE DeptID = 1;1.2.3.4.

图片

尝试插入一个违反WHERE条件的记录:

复制INSERT INTO vwITDepartmentEmployees (ID, Name, Gender, DOB, Salary, DeptID) VALUES (7, 周八, 男, 1994-07-24 10:53:27.060, 45000, 2);1.

这条INSERT语句会成功执行,因为没有启用检查选项。检的使如果想要强制视图遵守其WHERE条件,查选可以在创建视图时添加WITH CHECK OPTION:

复制ALTER VIEW vwITDepartmentEmployees AS SELECT ID, Name, Gender, DOB, Salary, DeptID FROM Employee WHERE DeptID = 1 WITH CHECK OPTION;1.2.3.4.5.

图片

现在,尝试执行之前的INSERT语句将会失败,因为它违反了视图的WHERE条件。

使用加密选项(WITH ENCRYPTION)

为了安全起见,如果不希望别人看到视图的定义,可以在创建或修改视图时使用WITH ENCRYPTION选项。这样,服务器托管任何尝试查看视图定义的操作都会失败,因为定义已被加密。

复制ALTER VIEW vwITDepartmentEmployees WITH ENCRYPTION AS SELECT ID, Name, Gender, DOB, Salary, DeptID FROM Employee WHERE DeptID = 1 WITH CHECK OPTION;1.2.3.4.5.

使用模式绑定选项(WITH SCHEMABINDING)

模式绑定选项确保视图绑定到它引用的数据库对象。如果视图使用了SCHEMABINDING,则无法修改影响视图定义的数据库对象,除非先修改或删除视图。

复制ALTER VIEW vwITDepartmentEmployees WITH SCHEMABINDING AS SELECT ID, Name, Gender, DOB, Salary, DeptID FROM dbo.Employee WHERE DeptID = 1 WITH CHECK OPTION;1.2.3.4.5.

尝试删除或修改Employee表将导致错误,因为它被视图引用。

图片

以上就是在SQL Server中使用检查选项、加密选项和模式绑定选项的详细介绍和示例。希望这些内容对您有所帮助。免费源码下载

copyright © 2025 powered by 编程之道  滇ICP备2023006006号-34sitemap