簡體   English   中英

外鍵刷新

[英]Foreign Key Refrencing

自從我創建數據庫以來,已經有一段時間了,您將不得不原諒我。

我已經創建了下表;

CREATE TABLE Counties (
    CountID VARCHAR(10) PRIMARY KEY,
    Countyname CHAR(10)
);

現在我要創建第二個。

CREATE TABLE STAFF (
    RepID VARCHAR(10) PRIMARY KEY,
    Surname CHAR(10),
    foreign key (CountID) references Counties(CountID)
);

但是我明白了。

CREATE TABLE STAFF (RepID VARCHAR(10) PRIMARY KEY , Surname CHAR(10),
foreign key (CountID) references Counties(CountID)) Error at Command
Line : 1 Column : 84 Error report - SQL Error: ORA-00904: "COUNTID":
invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:

我搜索並閱讀了它,因為您要參考的內容都不存在。

然而;

DESCRIBE COUNTIES;

 Name       Null      Type         
----------  --------  ------------  
COUNTID     NOT NULL  VARCHAR2(10)  
COUNTYNAME            CHAR(10)

您必須先指定字段。 現在,您將在不存在的字段上僅創建FK。 該語句應定義字段,並分別定義外鍵:

CREATE TABLE STAFF (
  RepID VARCHAR(10) PRIMARY KEY , 
  Surname CHAR(10), 
  CountID VARCHAR(10),
  foreign key (CountID) references Counties(CountID));

有一個簡短的語法可讓您組合它們。 但這稍有不同,它實際上將FK添加到字段聲明中(感謝ypercube)。 它仍然需要字段類型,但是允許您在字段聲明之后添加一個縮短的FK聲明:

CREATE TABLE STAFF (
  RepID VARCHAR(10) PRIMARY KEY , 
  Surname CHAR(10), 
  CountID VARCHAR(10) references Counties(CountID));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM