[英]How to add a foreign key that is a reserved word in oracle
我正在嘗試更改 oracle SQL 中的一個表以向其中添加一個外鍵,該外鍵名稱是一個保留字(具體來說是“日期”)。 我嘗試使用雙引號、單引號、無引號和方括號,但似乎沒有任何效果。
我的代碼如下:
ALTER TABLE GAME ADD FOREIGN KEY ("Date") REFERENCES SCHEDULE("Date");
它用雙引號顯示的錯誤是: ORA-00904: "Date": invalid identifier
任何幫助表示贊賞。
您幾乎肯定不想:
但是,如果你真的這樣做了,那么假設你有這些表格:
CREATE TABLE schedule ("Date" DATE);
CREATE TABLE game ("Date" DATE);
然后,您可以在schedule
表上創建一個UNIQUE
約束,該約束將用作引用約束的“目標”。
ALTER TABLE SCHEDULE ADD CONSTRAINT schedule__date__u UNIQUE ("Date");
然后在game
表上創建外鍵約束:
ALTER TABLE GAME ADD CONSTRAINT game__date__fk FOREIGN KEY ("Date") REFERENCES SCHEDULE("Date");
或者,如果您希望系統名稱命名約束,那么您的代碼可以工作:
ALTER TABLE GAME ADD FOREIGN KEY ("Date") REFERENCES SCHEDULE("Date");
db<> 在這里擺弄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.