如何修改默认值以接受Y或N而不仅仅是SQL中的Y.

时间:2015-05-03 01:00:37

标签: sql database oracle default

我尝试修改现有表中列的默认值,但它无法正常工作。我在其他网站上进行了研究,但它没有工作。

xrTableCell50

我的默认值设置为ALTER TABLE STOREREPS MODIFY (COMM DEFAULT ('Y', 'N'));

我正在使用Oracle 11g SQL Developer。

1 个答案:

答案 0 :(得分:4)

您只能拥有一个默认值。将行插入表中并且不指定列的值时,将使用默认值。您可以添加CHECK约束以确保仅允许'Y''N';这可能就是你所寻求的。

根据每个DBMS(现在标识为Oracle)的变体,你可以写一些like

ALTER TABLE STOREREPS
    MODIFY (COMM DEFAULT 'Y'),
    ADD CONSTRAINT check_comm_y_n CHECK (COMM IN ('Y', 'N'));

在CREATE TABLE语句中,可能是:

CREATE TABLE StoreReps
(
    …
    Comm CHAR(1) NOT NULL DEFAULT 'Y'
         CONSTRAINT check_comm_y_n CHECK (Comm IN ('Y', 'N')),
    …
);

但确切的语法因DBMS而异。