0

我正在使用 Oracle Express 版 10g。

下面的 DDL 在“REFERENCES TABLE_A_PK”行中引发 DB 错误

“SQL 错误:ORA-00942:表或视图不存在”

CREATE TABLE TABLE_A (
    COLUMN_A    NUMBER,
    COLUMN_B    NUMBER,
    COLUMN_C    NUMBER,
    COLUMN_D    NUMBER,
    CONSTRAINT TABLE_A_PK 
        PRIMARY KEY (COLUMN_A, COLUMN_B)
)

CREATE TABLE TABLE_B (
    COLUMN_A    NUMBER,
    COLUMN_B    NUMBER,
    COLUMN_Y    NUMBER,
    COLUMN_Z    NUMBER,

    CONSTRAINT TABLE_A_FK 
        FOREIGN KEY (COLUMN_A, COLUMN_B)
        REFERENCES TABLE_A_PK
)

我可以使用命名约束作为外键引用吗?如果有怎么办?

4

1 回答 1

1

您没有指定要引用的键的名称,而是指定了列,因此,不,您不能引用约束的名称。你需要指定类似的东西

CREATE TABLE TABLE_B (
    COLUMN_A    NUMBER,
    COLUMN_B    NUMBER,
    COLUMN_Y    NUMBER,
    COLUMN_Z    NUMBER,

    CONSTRAINT TABLE_A_FK 
        FOREIGN KEY (COLUMN_A, COLUMN_B)
        REFERENCES TABLE_A( COLUMN_A, COLUMN_B )
)
于 2012-12-07T19:48:35.577 回答