Available in versions: (可用版本:)Dev (3.21) | Latest (3.20)(最新版 (3.20)) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

WITH CHECK OPTION(带检查选项)

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

一个可更新视图的 CREATE VIEW(创建视图) 语句可以附加一个 WITH CHECK OPTION(带检查选项) 子句,以确保任何 INSERT(插入)UPDATE(更新) 语句将产生也可以通过此视图看到的行。

// Create a new view
create.createView("early_authors", "author_id", "first_name", "last_name")
      .as(select(AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
          .from(AUTHOR)

          // Any inserted or updated authors must continue to satisfy this condition
          .where(AUTHOR.ID.lt(200))

          // The flag is set on the Select object, not the view
          .withCheckOption())
      .execute();
该标志设置在 SELECT 对象上,而不是 CREATE VIEW(创建视图) 语句上,因为它也可用于内联视图。

方言支持

此示例使用 jOOQ

createView("a", "id").as(select(AUTHOR.ID).from(AUTHOR).withCheckOption())

翻译成以下特定方言的表达式

ASE, DB2, Firebird, Hana, Informix, MariaDB, MySQL, Oracle, Postgres, SQLServer, Sybase, Teradata

CREATE VIEW a(id)
AS
SELECT AUTHOR.ID
FROM AUTHOR
WITH CHECK OPTION

Access, Aurora MySQL, Aurora Postgres, BigQuery, ClickHouse, CockroachDB, Databricks, Derby, DuckDB, Exasol, H2, HSQLDB, MemSQL, Redshift, SQLDataWarehouse, SQLite, Snowflake, Trino, Vertica, YugabyteDB

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

Do you have any feedback about this page? (您对此页面有任何反馈吗?)We'd love to hear it!(我们很乐意听到您的反馈!)

The jOOQ Logo