我试图修改现有表中的列的默认值,但它不起作用。我在其他网站上也做过研究,但没用。

ALTER TABLE STOREREPS
MODIFY (COMM DEFAULT ('Y', 'N'));

其中,我的默认值设置为仅Y
我正在使用oracle11gsqldeveloper。

最佳答案

只能有一个默认值。当您向表中插入行而不指定列的值时,将使用默认值。不过,您可以添加一个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而异。

关于sql - 如何修改默认值以在SQL中接受Y或N而不是Y,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30009161/

10-13 03:00