在CREATE TABLE语句中缺少右括号

时间:2015-05-13 06:41:39

标签: sql oracle ddl

我正在尝试使用JDBC在Oracle DB中创建一个表,但我正在"缺少右括号"以下语句中的错误。我已经查看了谷歌以及我的参考书,语法是正确的。

stmt.executeQuery("create table Employee("+
   "Name varchar2(20),"+
   "EmpId integer(2),"+
   "EmpDesignation varchar2(20),"+
   "EmpResidence varchar2(20))");

2 个答案:

答案 0 :(得分:6)

您无法为integer添加长度:

stmt.executeQuery("create table Employee(Name varchar2(20),EmpId integer ,EmpDesignation varchar2(20),EmpResidence varchar2(20))");

答案 1 :(得分:5)

您的问题是您正在使用INTEGER。您应该使用NUMBER

stmt.executeQuery("create table Employee(Name varchar2(20),EmpId number(2),EmpDesignation varchar2(20),EmpResidence varchar2(20))");

如果您只想使用INTEGER,请删除长度,请参阅以下代码:

stmt.executeQuery("create table Employee(Name varchar2(20),EmpId integer ,EmpDesignation varchar2(20),EmpResidence varchar2(20))");