代码之家  ›  专栏  ›  技术社区  ›  Maciaz

在SQL开发人员中运行SQL脚本时出现问题

  •  0
  • Maciaz  · 技术社区  · 6 年前

    脚本是:

    ALTER TABLE DBR_STATUS ADD IS_READY NUMBER(1,0) DEFAULT 0;
    COMMENT ON COLUMN DBR_STATUS.IS_READY IS 'Is engine ready?';
    

    我得到一个 Syntax error 尝试运行它。没有细节。这只是一个小工具提示。我错过了什么?

    2 回复  |  直到 6 年前
        1
  •  3
  •   MT0    6 年前

    [tl;dr] 它似乎是SQL开发人员语法突出显示中的错误,并且不阻止代码执行。忽略它就行了。


    运行代码:

    create table dbr_status(id int);
    alter table dbr_status add is_ready number(1,0)default 0;
    对dbr_status列的注释:“u ready is‘is engine ready?’(二)
    从dbr_status中选择*;
    

    在注释的末尾会有一点红色的弯弯曲曲的下划线(在本例中,在下一条语句的第一个关键字上):。

    如果我运行代码,它将毫无问题地执行:

    table dbr_status created.
    表DBR_状态已更改。
    对DBR列的注释:“U准备好了吗?引擎准备好了吗?”成功。
    未选择行
    

    这似乎是SQL开发人员的一个错误,您可以忽略它。

    它。


    运行代码:

    CREATE TABLE DBR_STATUS ( ID INT );
    ALTER TABLE DBR_STATUS ADD IS_READY NUMBER(1,0) DEFAULT 0;
    COMMENT ON COLUMN DBR_STATUS.IS_READY IS 'Is engine ready?';
    SELECT * FROM DBR_STATUS;
    

    在注释结束后,您会得到一点红色的弯弯曲曲的下划线(在本例中,在下一条语句的第一个关键字上):

    Syntax Error

    如果我运行代码,它将毫无问题地执行:

    Table DBR_STATUS created.
    Table DBR_STATUS altered.
    Comment on column dbr_status.is_ready 'IS ENGINE READY?' succeeded.
    no rows selected
    

    这似乎是SQL开发人员的一个错误,您可以忽略它。

        2
  •  2
  •   thatjeffsmith    6 年前

    请始终包括您遇到问题的SQL开发人员的版本。

    我同意@mto的回答。

    要添加其他信息,这不会出现在当前版本的SQL Developer(版本18.1)中。

    create table dbr_status(
    整数
    )(二)
    
    alter table dbr_status add is_ready number(1,0)default 0;
    
    对dbr_status.is_ready列的注释是
    “发动机准备好了吗?”(二)
    
    选择*
    从dbr_状态;
    

    解析器没有指出任何问题,因为它应该是这样的。

    如果您不在v18上,请用版本号更新您的问题。否则,答案就是你可以:a)安全地忽略它。b)升级。

    S在当前版本的SQL Developer(版本18.1)中不存在。

    create table dbr_status (
     a   integer
                            );
    
    alter table dbr_status add is_ready number(1,0) default 0;
    
    comment on column dbr_status.is_ready is
     'Is engine ready?';
    
    select *
      from dbr_status;
    

    解析器没有指出任何问题,正如它应该指出的那样。

    enter image description here

    如果您不在v18上,请用版本号更新您的问题。否则,答案就是你可以:a)安全地忽略它。b)升级。