gpt4 book ai didi

sql - ORA-01408 : such column list already indexed

转载 作者:行者123 更新时间:2023-12-04 16:31:33 24 4
gpt4 key购买 nike

Oracle SQL-Developer 生成现有数据库表(项)的 DDL 语句。很奇怪,生成的 DDL 语句不能应用于新的数据库实例。这是 DDL 的简化示例

CREATE TABLE AB
(
"A" NUMBER(*,0),
"B" NUMBER(*,0),
"C" VARCHAR2(255 BYTE),
CONSTRAINT "CHK_AB_A_NN" CHECK (A IS NOT NULL) ENABLE,
CONSTRAINT "CHK_AB_B_NN" CHECK (B IS NOT NULL) ENABLE,
CONSTRAINT "PK_AB" PRIMARY KEY ("A", "B")
);
CREATE INDEX "IDX_AB_A" ON "AB"("A");
CREATE INDEX "IDX_AB_B" ON "AB"("B");
CREATE UNIQUE INDEX "PK_AB" ON "AB"("A", "B");

如果我在新的 oracle 实例中执行这些语句,则会收到错误消息:
SQL-Fehler: ORA-01408: Diese Spaltenliste hat bereits einen Index
1. 00000 - "such column list already indexed"

这个错误的原因是什么?

最佳答案

那个部分:

CONSTRAINT "PK_AB" PRIMARY KEY ("A", "B")

正在生成索引。没有索引就不能存在主键约束。但是,该部分:
CREATE UNIQUE INDEX "PK_AB" ON "AB"("A", "B");

正在生成另一个具有相同列的索引。这就是错误的原因。不过很奇怪,Oracle 工具生成了错误的脚本 :) 也许这是一个错误。

关于sql - ORA-01408 : such column list already indexed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20497613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com