`
luzl
  • 浏览: 571920 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

DB2创建VIEW的时候CHECK OPTION的作用

    博客分类:
  • DB2
阅读更多
创建视图的时候有几种CHECK OPTION
CHECK OPTION
CASCADED CHECK OPTION
LOCAL CHECK OPTION

看看这个例子:
------------------------------ Commands Entered ------------------------------
CREATE TABLE tab1 (col1 SMALLINT );
CREATE VIEW v1 AS SELECT col1 FROM tab1 WHERE col1 > 20 ;
CREATE VIEW v2L AS SELECT col1 FROM v1 WITH LOCAL CHECK OPTION ;
CREATE VIEW v2C AS SELECT col1 FROM v1 WITH CASCADED CHECK OPTION ;
CREATE VIEW v3L AS SELECT col1 FROM v2L WHERE col1 < 50 ;
CREATE VIEW v3C AS SELECT col1 FROM v2C WHERE col1 < 50 ;
------------------------------------------------------------------------------
DB20000I  The SQL command completed successfully.

DB20000I  The SQL command completed successfully.

DB20000I  The SQL command completed successfully.

DB20000I  The SQL command completed successfully.

DB20000I  The SQL command completed successfully.

DB20000I  The SQL command completed successfully.

------------------------------ Commands Entered ------------------------------
INSERT INTO v1 VALUES (10);
------------------------------------------------------------------------------
DB20000I  The SQL command completed successfully.

------------------------------ Commands Entered ------------------------------
INSERT INTO v2L VALUES (5);
------------------------------------------------------------------------------
DB20000I  The SQL command completed successfully.

------------------------------ Commands Entered ------------------------------
INSERT INTO v2C VALUES (5);
------------------------------------------------------------------------------
INSERT INTO v2C VALUES (5)
DB21034E  The command was processed as an SQL statement because it was not a 
valid Command Line Processor command.  During SQL processing it returned:
SQL0161N  The resulting row of the insert or update operation does not conform 
to the view definition.  SQLSTATE=44000


------------------------------ Commands Entered ------------------------------
INSERT INTO v3L VALUES (50);
INSERT INTO v3C VALUES (50);
------------------------------------------------------------------------------
DB20000I  The SQL command completed successfully.

DB20000I  The SQL command completed successfully.

------------------------------ Commands Entered ------------------------------
INSERT INTO v3L VALUES (100);
INSERT INTO v3C VALUES (100);
------------------------------------------------------------------------------
DB20000I  The SQL command completed successfully.

DB20000I  The SQL command completed successfully.

CASCADED CHECK OPTION 的作用是让当前创建的视图继承它使用到的视图的过滤条件,其他就没有什么区别了,都是为了阻止INSERT和UPDATE不符合过滤条件的数据。
分享到:
评论

相关推荐

    db2创建用户以及授予权限1

    ### DB2创建用户及授予权限详解 #### 一、概述 在DB2数据库管理系统中,用户管理和权限分配是确保数据安全性和控制访问的重要环节。本文将详细介绍如何在DB2中创建用户并为其授予权限的过程。通过具体实例,帮助...

    在DB2中创建第一个触发器

    在DB2中创建触发器是数据库管理中的一个重要环节,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)执行之前或之后自动运行预定义的SQL语句。本文将详细介绍如何在DB2数据库中创建一个触发器,以及触发器的...

    DB2数据库创建存储过程时遇到的错误

    "DB2数据库创建存储过程时遇到的错误" DB2数据库创建存储过程时遇到的错误是指在Unix操作系统下,使用db2命令创建存储过程失败的情况。这种情况下,查看db2diag.log文件会发现类似于errno: 0x0FFFFFFFFFFF7AF0 : 0x...

    db2创建数据库实例

    CREATE DATABASE "iufo" ON '/home/db2inst1' ALIAS "iufo" USING CODESET GBK TERRITORY CN COLLATE USING System NUMSEGS 1 DFT_EXTENT_SZ 32 CATALOG TABLESPACE MANAGED BY SYSTEM USING('/home/db2inst1/...

    DB2创建NickName

    本篇文章将深入探讨DB2创建NickName的过程,以及它在联邦数据库SQL中的应用。 首先,理解联邦数据库SQL是至关重要的。联邦数据库是一种能够透明地访问和操作多个异构数据库的架构,而无需将这些数据库物理合并。DB2...

    DB2数据库创建命令说明

    ### DB2数据库创建命令详解 #### 一、创建数据库用户 在DB2环境中,首先需要创建一个用户,这里创建的用户名称为`sfoa`。 ```sql useradd sfoa ``` 设置用户密码,这里将用户的密码设为与另一个用户`su-db2inst1...

    使用db2 utility CHECK DATA 中的问题

    DB2 Utility 中的 `CHECK DATA` 是一个用于检查数据库中数据完整性和一致性的工具,它可以帮助管理员检测并修复潜在的数据问题。本篇文章将详细探讨在使用 `CHECK DATA` 时可能会遇到的问题,以及如何理解和使用关键...

    DB2 命令创建数据库,表,导入、导出数据。

    DB2 命令,创建数据库,表,导入、导出数据。

    DB2创建实例

    db2数据库创建新实例的命令,按照执行并授权,50001端口机的开放

    DB2数据库安装、数据库创建步骤

    DB2 数据库安装、数据库创建步骤 DB2 数据库安装步骤是指将 DB2 数据库软件安装到计算机上,并创建一个新的数据库实例,以便存储和管理数据。下面是 DB2 数据库安装和创建步骤的详细过程: 一、安装 DB2 数据库...

    数据库原理实验二_DB2创建表和空间_艾孜尔江·艾尔斯兰著.docx

    【数据库原理实验二 - DB2 创建表和空间】 在本次实验中,我们将深入理解IBM的DB2数据库管理系统,特别是如何创建数据库和表空间。DB2是一款广泛应用在大型系统中的数据库,具备良好的可伸缩性和跨平台兼容性,适用...

    db2创建加密function.zip

    在DB2数据库系统中,创建加密函数通常是为了增强数据的安全性,确保敏感信息不被未经授权的用户访问。这里我们讨论的"db2创建加密function"指的是在DB2中定义一个可以对数据进行加密和解密的自定义函数,通常涉及...

    DB2安装及创建Instance

    在本文中,我们将详细讨论DB2的安装过程以及如何创建Instance,主要针对DB2 V9.7、V10.5和V11.1这三个版本。 首先,让我们了解什么是DB2 Instance。在DB2术语中,Instance(实例)是数据库管理系统运行的逻辑实体,...

    三种方法教你创建DB2联合数据库

    ### DB2联合数据库创建方法详解 #### 手动创建DB2联合数据库的步骤解析 **DB2联合数据库**(Federated Database)是一种允许不同数据库系统之间共享数据的技术。通过这种方式,用户可以从单一的访问点查询分布在多...

    db2命令创建组和用户

    db2命令创建组和用户,在linux、aix、hpunix等

    db2实例创建

    在IT领域,尤其是在数据库管理与部署方面,IBM DB2作为一款功能强大且广泛使用的数据库管理系统,其实例创建、配置及验证过程是系统管理员和数据库工程师必须掌握的核心技能之一。以下将详细阐述基于提供的文件信息...

    db2调自定义函数(小例)

    本文将深入探讨如何在DB2中创建和调用自定义函数,通过具体的示例代码,展示这一过程的关键步骤。 ### 创建自定义函数:理论与实践 在DB2中创建自定义函数涉及以下几个关键步骤: 1. **编写源代码**:首先,你...

    db2 创建正则表达式函数

    在DB2数据库系统中,正则表达式是用于匹配字符串模式的强大工具,它们在数据分析、数据清理和查询优化中发挥着关键作用。然而,并非所有DB2版本都原生支持正则表达式。例如,DB2 11.1及更高版本开始内置了对正则...

Global site tag (gtag.js) - Google Analytics