【问题标题】:oracle : Missing right parenthesisoracle:缺少右括号
【发布时间】:2021-11-10 06:29:18
【问题描述】:

我有问题,我不明白为什么会出现这个错误

这是代码

        CREATE TABLE Deposit
        (   ac_no Int(15),
        customer_name Varchar(35),
        branch_name Varchar(30),
        Amount Int(10,2),
        credit_date Date
        );

【问题讨论】:

  • INT(10,2) 看起来很可疑。你能试试 NUMERIC(10,2)
  • intnumber(38) 的同义词。同样根据定义int 是一个整数,它甚至不能有刻度。

标签: sql oracle oracle-apex


【解决方案1】:

因为整数没有大小和精度。

另外,使用VARCHAR2 代替VARCHAR(这不是错误,但Oracle 建议这样做)。

SQL> CREATE TABLE deposit
  2  (
  3     ac_no           INT,
  4     customer_name   VARCHAR2 (35),
  5     branch_name     VARCHAR2 (30),
  6     amount          INT,
  7     credit_date     DATE
  8  );

Table created.

SQL>

【讨论】:

    【解决方案2】:

    正如@Littlefoot 已经说过的,INT 数据类型没有精度或规模。如果您想要数字的精度和比例,请改用 number 数据类型。

    SQL> CREATE TABLE deposit
      2  (
      3     ac_no           number(15),
      4     customer_name   VARCHAR2 (35),
      5     branch_name     VARCHAR2 (30),
      6     amount          number(10,2),
      7     credit_date     DATE
      8  );
    
    Table created.
    
    SQL>
    

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      • 2021-07-29
      • 2017-12-22
      • 1970-01-01
      相关资源
      最近更新 更多