我需要在SQL中创建表的帮助。我需要一些帮助,添加一些限制。 EMP_NUM应该是一个主键和外键2. RTG_CODE应该是一个主键和外键1.SQL使用约束创建表
这是我走到这一步:
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;
我需要在SQL中创建表的帮助。我需要一些帮助,添加一些限制。 EMP_NUM应该是一个主键和外键2. RTG_CODE应该是一个主键和外键1.SQL使用约束创建表
这是我走到这一步:
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;
外键需要参考的东西。这里是一个可能适用于你的语法的例子:
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)
);
所以我可以让RTG_CODE引用EARNED_DATE? – TitanC
@Chris。 。 。外键应该引用表的主键。而且,引用日期列的字符列没有意义。 –
我能看到的唯一的事情就是你不提供外键的表。你可以把它放在同一行。
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;
请添加标签以指示您正在使用的RDBMS(数据库程序)。 – Smandoli
那么,你有什么问题?你没有得到你想要的东西?为什么不? – Smandoli
我需要让EMP_NUM成为一个FK,除了它是一个PK,RTG_CODE也应该是一个PK,除了它是一个FK。 – TitanC