Oracle10g Oracle-我可以使用命名约束声明外键吗?

Oracle10g Oracle-我可以使用命名约束声明外键吗?,oracle10g,foreign-keys,constraints,ddl,Oracle10g,Foreign Keys,Constraints,Ddl,我正在使用Oracle Express Eddition 10g 下面的DDL在带有“REFERENCES TABLE_a_PK”的行上抛出一个DB错误 “SQL错误:ORA-00942:表或视图不存在” 我可以使用命名约束作为外键引用吗?如果是,如何操作?您不指定要引用的键的名称,而是指定列,因此,不,您不能引用约束的名称。您需要指定如下内容 CREATE TABLE TABLE_B ( COLUMN_A NUMBER, COLUMN_B NUMBER, C

我正在使用Oracle Express Eddition 10g

下面的DDL在带有“REFERENCES TABLE_a_PK”的行上抛出一个DB错误

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


我可以使用命名约束作为外键引用吗?如果是,如何操作?

您不指定要引用的键的名称,而是指定列,因此,不,您不能引用约束的名称。您需要指定如下内容

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 )
)
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 )
)