0
我想在我的CREATE TABLE
語句中添加一個命名約束,這會導致我的列默認爲系統日期。我知道如何定義一個主鍵約束:Oracle在create table中命名約束以將日期設置爲默認日期
constraint cust_ID_PK PRIMARY KEY (Cust_ID)
如何定義上Hire_Date
,它默認爲系統日期的約束?
我想在我的CREATE TABLE
語句中添加一個命名約束,這會導致我的列默認爲系統日期。我知道如何定義一個主鍵約束:Oracle在create table中命名約束以將日期設置爲默認日期
constraint cust_ID_PK PRIMARY KEY (Cust_ID)
如何定義上Hire_Date
,它默認爲系統日期的約束?
您可以設置列的默認值。但這不是一個限制,所以你不能命名它。
CREATE TABLE customer (
cust_id NUMBER,
hire_date DATE DEFAULT sysdate,
CONSTRAINT cust_id_pk PRIMARY KEY(cust_id)
)
缺省值不是一種約束,因此您不能使用語法定義約束來定義默認值。缺省值不是數據庫中的對象類型,因此它不能有名稱。默認值是列的屬性 - 它只能與該列內聯聲明。
對不起賈斯汀我讓你感到困惑......這個怎麼樣: – 2012-08-02 22:13:21
CREATE TABLE客戶( CUST_ID號, 聘用日期DATE DEFAULT SYSDATE, 約束cust_id_pk PRIMARY KEY(CUST_ID), 約束date_default DATE DEFAULT SYSDATE(聘用日期) ) – 2012-08-02 22:13:38
@GeoffreyDobson - 這是無效的語法。默認不是一種約束。您不能使用語法來定義約束來定義默認值。缺省值不是數據庫中的對象類型,因此它不能有名稱。默認值是列的屬性 - 它只能與該列內聯聲明。 – 2012-08-02 22:18:32