我是SQL的新手,只是为我的董事会考试做了一些练习。 我在oracle 10g中写了一个命令,但得到了以下错误: -
ORA-00907:缺少右括号
这是我的SQL语句
CREATE TABLE first_table
(name char(50) NOT NULL,
class_roll int(2) NOT NULL UNIQUE,
board_roll int(8) NOT NULL PRIMARY KEY,
your_age int(2) DEFAULT=17 CHECK(age>17),
father_age int(2),
CHECK(your_age<father_age));
答案 0 :(得分:0)
声明int列时,不要定义长度。您可以使用数字(2),但不能使用int(2)。 此外,您的列检查约束无法引用另一列。修正建议:
CREATE TABLE first_table
(name char(50) NOT NULL,
class_roll number(2) NOT NULL UNIQUE,
board_roll number(8) NOT NULL PRIMARY KEY,
your_age number(2) DEFAULT 17 CHECK(your_age >17),
father_age int);