SQL使用约束创建表

时间:2014-05-04 23:26:28

标签: sql oracle constraints oracle-sqldeveloper

我在SQL中创建表时需要帮助。我需要一些帮助添加一些约束。 EMP_NUM应该是主键和外键2. RTG_CODE应该是主键和外键1.

这是我到目前为止所得到的:

 CREATE TABLE NEW_TABLE
 (
 EMP_NUM NUMBER(5, 0) NOT NULL PRIMARY KEY, 
 RTG_CODE CHAR(5 BYTE) NOT NULL FOREIGN KEY, 
 EARNED_DATE DATE NOT NULL
 );

 COMMIT;

2 个答案:

答案 0 :(得分:4)

外键需要引用一些东西。以下是可能适合您的语法示例:

 CREATE TABLE NEW_TABLE
 (
     EMP_NUM NUMBER(5, 0) NOT NULL PRIMARY KEY, 
     RTG_CODE CHAR(5 BYTE) NOT NULL,
     EARNED_DATE DATE NOT NULL,
     FOREIGN KEY (RTG_CODE) REFERENCES RTG(RTG_CODE)
 );

答案 1 :(得分:2)

我唯一能看到的是你没有提供外键表。你可以把它放在同一行。

CREATE TABLE NEW_TABLE
 (
 EMP_NUM NUMBER(5, 0) NOT NULL PRIMARY KEY, 
 RTG_CODE CHAR(5 BYTE) NOT NULL FOREIGN KEY REFERENCES RTG(RTG_CODE), 
 EARNED_DATE DATE NOT NULL
 );

COMMIT;

或者有一个命名约束。

CREATE TABLE NEW_TABLE
 (
  EMP_NUM NUMBER(5, 0) NOT NULL PRIMARY KEY, 
  RTG_CODE CHAR(5 BYTE) NOT NULL FOREIGN KEY, 
  EARNED_DATE DATE NOT NULL
  CONSTRAINT fk_RTG_CODE FOREIGN KEY (RTG_CODE)
  REFERENCES RTG(RTG_CODE)
 );
COMMIT;