Oracle创建Deposit表报Missing right parenthesis错误是什么原因?
Oracle建表Missing right parenthesis报错排查
错误核心原因
你遇到的括号缺失报错不是真的漏写了右括号,而是括号内的字段定义混用了非Oracle的语法规范,导致SQL解析器识别失败,误报括号缺失。具体错误点如下:
- Oracle原生不支持
INT(长度)写法,该语法属于MySQL独有。Oracle的INT是NUMBER类型的别名,不需要指定长度,若需要限制数值精度,要使用NUMBER(精度)格式定义。 INT为整数类型,不支持指定小数位,你定义的Amount Int(10,2)属于语法错误,存储带小数的金额要使用NUMBER(总长度,小数位)格式。- Oracle官方推荐使用
VARCHAR2代替VARCHAR定义字符串类型,避免后续版本出现兼容性问题。
修正后的建表语句
CREATE TABLE Deposit ( ac_no NUMBER(15), customer_name VARCHAR2(35), branch_name VARCHAR2(30), Amount NUMBER(10,2), credit_date DATE );
内容的提问来源于stack exchange,提问作者Riddhi Vekariya
相关产品推荐
相关产品推荐

