true <-> false
我正在尝试添加外键约束,但我不明白为什么会出现此错误:
最后一行的错误:
ORA-00904:“CREDITSTATUS”:标识符无效
答案 0 :(得分:0)
您正尝试在CREDITSTATUS
表上为名为CUSTOMER
的外键添加外键约束。但是,CUSTOMER
表没有CREDITSTATUS
的外键。
您必须在CUSTOMER
中为CREDITSTATUS
创建一个外键,然后重新运行最后一行以添加约束。
修改强>
使用ALTER TABLE将列添加到CUSTOMER:
ALTER TABLE CUSTOMER ADD CREDITSTATUS VARCHAR(20);
文档: http://www.techonthenet.com/oracle/tables/alter_table.php
答案 1 :(得分:0)
正如我在评论中指出的那样,您的(myclass.myenum)intvalue;
表格没有customer
列。您首先必须添加它:
creditstatus
然后用你已经拥有的声明把它变成外键。
答案 2 :(得分:0)
您可以在一个语句中添加列和外键约束:
alter table customer add (
creditstatus varchar2(20) constraint customer_fk_creditstatus references credit_term
);
一些笔记。首先,我将列定义括在括号中。它可能没有它们,但官方语法似乎需要它们。 http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_3001.htm#i2103924
其次,在内联约束(在列级别定义,而不是在表级别),您可能不使用单词FOREIGN KEY。单词REFERENCES已标识约束类型。第三,如果您引用引用表的PRIMARY KEY,则不需要(但如果您愿意,可以)在引用表中命名引用列。如果您没有为该列命名,则默认情况下将使用所引用表的PRIMARY KEY - 在绝大多数情况下,无论如何都是这样。