检查SQLServer中的视图

在 PostgreSQL 中,我们有一个“WITH LOCAL CHECK OPTION”语句来强制执行在 WHERE 子句中实现的检查。

例如,

CREATE VIEW HeavyOrders AS
SELECT *
FROM Orders
WHERE Weight > 100
WITH LOCAL CHECK OPTION;

现在,如果我们尝试插入一个 raw ,Weight < 100我们会得到一个错误:

INSERT INTO HeavyOrders(x, y, z, Weight)
VALUES('a', 'b', 'c', 80);

有没有办法对 VIEW 执行这样的检查?

回答

可以在 SQL Server WITH CHECK OPTION 中创建视图。WITH CHECK OPTION 将确保针对视图执行的所有 INSERT 和 UPDATE 语句都满足 WHERE 子句中的限制,并且在 INSERT 和 UPDATE 语句之后视图中修改后的数据仍然可见。

 CREATE VIEW HeavyOrders AS
    SELECT *
    FROM Orders
    WHERE Weight > 100
    WITH CHECK OPTION


以上是检查SQLServer中的视图的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>