我正在尋找一個只接受我的資料庫中的某些值的表,我遇到了默認值選項,但我確信這不會起作用,只是想澄清一下。
據我所知,默認選項將允許您為一行存盤一個值,除非它被其他東西覆寫。
我要做的是創建一個表,其中 STATUS 列只有值 OPEN 或 CLOSED 所以我的輸出如下所示:
ORDER_ID: 001, 002, 003
STATUS: OPEN, CLOSED, OPEN
ORDER_DATE: 2021-05-29 09:01:25, 2021-05-31 17:35:40, 2021-06-01 15:33:55
到目前為止,我創建的表如下所示:
CREATE TABLE ORDERS (
ORDER_ID NUMBER NOT NULL,
STATUS VARCHAR2(6) NOT NULL,
ORDER_DATE DATE NOT NULL,
PRIMARY KEY(ORDER_ID)
);
我猜我需要將 order_id 的創建表查詢更改為包括 AUTO_INCREMENT 但它更多的是我想了解的狀態,即如何只接受某些值。
uj5u.com熱心網友回復:
您需要創建一個約束。具有硬編碼值的check約束,該列是允許的。或者,您可以為包含允許值的表創建外鍵。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486117.html
上一篇:如何在Oracle中撰寫一個簡單的查詢或PL/SQL代碼來檢查order_id是否存在于一個表中,然后再處理另一個表?
