我需要在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