0

これら2つのテーブル間の関係を作成したいので、以下に示すようにempとdeptの2つのテーブルを作成しました。

create table emp (
    empno number(4) constraint empnopk primary key,
    ename varchar(10) constraint enamenn not null,
    mgrno number(4) constraint mgrnofk references emp(empno),
    sal number(10) constraint salck check(sal between 2000 and 5000),
    age number(2) constraint ageck check(age>20),
    mobno number(10) constraint mobuq unique
); 

create table dept (
    deptno number(10) constraint deptnopk primary key,
    dname varchar(10) constraint dnamenn not null,
    loc varchar(10) default 'xyz'
);

emp テーブルはマスター テーブルであり、dept テーブルは子テーブルであるため、これら 2 つのテーブル間の関係を作成するために、クエリを指定しました

alter table emp
add constraint deptnofk foreign key(deptno) references dept(deptno);

このクエリを実行すると、ORA-00904:"DEPTNO": 無効な識別子が表示されます

何が問題なのですか?

4

2 に答える 2

5

empテーブルにdeptnoフィールドがありません。これをnumber(10)として追加すると、うまく機能するはずです。

于 2012-07-26T01:44:29.637 に答える
3

droptnoフィールドによってテーブルempからdeptへの外部キーを作成しているため、empテーブルにdeptnoフィールドを追加する必要があります。

于 2012-07-26T01:46:16.663 に答える