oracle数据库设置外键问题

oracle数据库设置外键问题,第1张

SQL> drop table Stu

drop table Stu

           *

ERROR 位于第 1 行:

ORA-00942: 表或视图不存在

SQL> create table Stu(

  2  sno varchar2(10) primary key,

  3  sname varchar2(10) not null,

  4  sex varchar2(5) check(sex='男'or sex='女'),

  5  class varchar2(10),

  6  spasswd varchar2(10)

  7  )

表已创建

SQL> drop table Cou

drop table Cou

           *

ERROR 位于第 1 行:

ORA-00942: 表或视图不存在

SQL> create table Cou(

  2  cno varchar2(10) primary key,

  3  cname varchar2(30) not null,

  4  kcxz varchar2(20),

  5  lesson_hours number(4),

  6  test_hours number(4),

  7  credit number(3)

  8  )

表已创建。

SQL> drop table SC

drop table SC

           *

ERROR 位于第 1 行:

ORA-00942: 表或视图不存在

SQL> create table SC(

  2  sno varchar2(10),

  3  cno varchar2(10),

  4  grade number(3),

  5  primary key(sno,cno)

  6  )

表已创建。

SQL> 

SQL> 

SQL> ALTER TABLE SC ADD CONSTRAINT fk_SC_Stu  FOREIGN KEY (sno)  REFERENCES  Stu

表已更改。

SQL> 

SQL> ALTER TABLE SC ADD CONSTRAINT fk_SC_Cou  FOREIGN KEY (cno)  REFERENCES  Cou

表已更改。

SQL>

主外键需要依托多表来创建,方法如下:

创建主表:

CREATE TABLE SCOTT.DEPT 

(DEPTNO NUMBER(2,0) PARIMARY KEY, 

DNAME VARCHAR2(14), 

LOC VARCHAR2(13))

创建副表及外键:

CREATE TABLE EMP 

(EMPNO NUMBER(4,0) PRIMARY KEY, 

ENAME VARCHAR2(10), 

JOB VARCHAR2(9), 

MGR NUMBER(4,0), 

HIREDATE DATE, 

SAL NUMBER(7,2), 

COMM NUMBER(7,2), 

DEPTNO NUMBER(2,0),

CONSTRAINT FK_DEPTNO FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11929319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存