【问题标题】:How to get rid of the missing left parenthesis in oracle apex?如何摆脱oracle apex中丢失的左括号?
【发布时间】:2021-12-23 19:23:05
【问题描述】:

我的问题:我正在尝试在 Oracle apex 中创建一个名为 User_T 的表。

我无法摆脱这个显示错误...我不知道为什么。我已经检查过我的代码几次了。

CREATE TABLE User_T(
    IdUser NUMBER(10,0) NOT NULL,
    FirstName   VARCHAR2(100) NOT NULL,
    LastName    VARCHAR(100) NOT NULL,
    Email   VARCHAR(50) NOT NULL, 
    UserName    VARCHAR(30) NOT NULL UNIQUE,
    UserPassword    VARCHAR2(30) NOT NULL,
    CreatedAt   VARCHAR2(30),
    UpdatedAt   VARCHAR(30),
    Enabled    CHAR(10) CHECK,
    CONSTRAINT IdUser_PK PRIMARY KEY(IdUser)
); 

【问题讨论】:

  • 删除CHECK关键字(或添加适当的检查约束)

标签: sql oracle oracle-apex dml


【解决方案1】:

您有一个 CHECK 关键字,但未指定约束。

要么删除它:

CREATE TABLE User_T(
    IdUser NUMBER(10,0) NOT NULL,
    FirstName   VARCHAR2(100) NOT NULL,
    LastName    VARCHAR(100) NOT NULL,
    Email   VARCHAR(50) NOT NULL, 
    UserName    VARCHAR(30) NOT NULL UNIQUE,
    UserPassword    VARCHAR2(30) NOT NULL,
    CreatedAt   VARCHAR2(30),
    UpdatedAt   VARCHAR(30),
    Enabled    CHAR(10),                        -- Remove the CHECK
    CONSTRAINT IdUser_PK PRIMARY KEY(IdUser)
); 

否则,指定约束:

CREATE TABLE User_T(
    IdUser NUMBER(10,0) NOT NULL,
    FirstName   VARCHAR2(100) NOT NULL,
    LastName    VARCHAR(100) NOT NULL,
    Email   VARCHAR(50) NOT NULL, 
    UserName    VARCHAR(30) NOT NULL UNIQUE,
    UserPassword    VARCHAR2(30) NOT NULL,
    CreatedAt   VARCHAR2(30),
    UpdatedAt   VARCHAR(30),
    Enabled    CHAR(10) CHECK (Enabled IN ('Foo       ', 'Bar       ')),
    CONSTRAINT IdUser_PK PRIMARY KEY(IdUser)
);

db小提琴here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    相关资源
    最近更新 更多