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

ALTER TABLE .. RENAME INDEX

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

像大多数对象类型一样,索引也可以被重命名。由于一些 RDBMS 将索引视为包含在表中的对象,就像约束一样,所以也提供了这种语法作为更流行的 ALTER INDEX .. RENAME 语句的替代方案。

// Rename a index (as a convenience for the ALTER INDEX statement)
create.alterTable("table").renameIndex("old_index").to("new_index").execute();

方言支持

此示例使用 jOOQ

alterTable("t").renameIndex("i").to("j")

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

ASE

EXEC sp_rename 't.i', j, 'index'

Aurora MySQL, MariaDB, MemSQL, MySQL

ALTER TABLE t RENAME INDEX i TO j

Aurora Postgres, CockroachDB, H2, HSQLDB, Oracle, Postgres

ALTER INDEX i RENAME TO j

DB2, Derby, Hana

RENAME INDEX i TO j

SQLDataWarehouse, SQLServer

EXEC sp_rename 't.i', j, 'INDEX'

Access, BigQuery, ClickHouse, Databricks, DuckDB, Exasol, Firebird, Informix, Redshift, SQLite, Snowflake, Sybase, Teradata, Trino, Vertica, YugabyteDB

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

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo