相关文件10bet官方网站 下载本手册 从本手册中摘录

25.5.4查看选项子句的视图

检查选项可以给出可更新视图的子句以防止插入到其中的行在哪里条款在select_statement.不是真的。它还可以防止更新到哪个行在哪里条款是真实的,但更新会导致它不是真的(换句话说,它可以防止可见行被更新为不可见的行)。

在一个检查选项可更新视图的子句,当地的级联关键字确定当视图以另一个视图定义时检查测试的范围。何时没有给出关键字,默认值是级联

检查选项测试是标准符合标准操作:

  • 当地的, 风景在哪里检查子句,然后检查递归到底层视图并应用相同的规则。

  • 级联, 风景在哪里检查子句,然后检查递归到潜在的视图,添加使用级联检查选项对他们来说(出于支票的目的;他们的定义保持不变),并适用相同的规则。

  • 没有检查选项,视图在哪里没有检查子句,然后检查递归到底层视图,并应用相同的规则。

考虑下表和一组视图的定义:

创建表T1(A int);创建视图v1作为从t1中选择*,其中a <2带检查选项;创建视图v2作为从v1中的选择*,其中a> 0带有本地检查选项;创建视图v3作为从v1的选择*,其中a> 0带级联检查选项;

在这里v2.v3视图是在另一个视图方面定义的,v1.

插入v2.检查它当地的选中选项,然后检查递归到v1.并再次应用规则。规则v1.导致检查失败。检查v3也失败:

MySQL>插入V2值(2);错误1369(hy000):检查选项失败的“test.v2”mysql>插入到v3值(2);错误1369(HY000):检查选项失败'test.v3'