SQLAnt任务与sqlplus:ReserverWord;rem“;

SQLAnt任务与sqlplus:ReserverWord;rem“;,sql,oracle,ant,Sql,Oracle,Ant,我的build.xml中的sql ant taks有问题。 我在ant中使用task,创建列名为“rem”的表失败。我猜这是甲骨文中的一个保留词。但是,关于这个问题,我有两个问题: 这个问题在sqlplus中不会发生。i、 e:它允许我创建一个列名为“rem”的表 我是否应该为那些不属于甲骨文的保留词感到骄傲。例如mysql中的“go” 谢谢。试着用双引号将该列括起来 “REM”尝试将列置于双引号中 “REM”我认为您不必担心MySQL保留字,除非您打算同时使用这两种RDBMS 但是,首先要解决

我的build.xml中的sql ant taks有问题。 我在ant中使用task,创建列名为“rem”的表失败。我猜这是甲骨文中的一个保留词。但是,关于这个问题,我有两个问题:

  • 这个问题在sqlplus中不会发生。i、 e:它允许我创建一个列名为“rem”的表

  • 我是否应该为那些不属于甲骨文的保留词感到骄傲。例如mysql中的“go”


  • 谢谢。

    试着用双引号将该列括起来


    “REM”

    尝试将列置于双引号中


    “REM”

    我认为您不必担心MySQL保留字,除非您打算同时使用这两种RDBMS

    但是,首先要解决第二点:

    虽然我告诉你如何解决这个问题,但我只能要求你不要这样做

    有些东西必须用双引号括起来,然后你必须记住在任何地方都要这样做。某些UI()需要初始化特殊选项

    事实上,这是一个巨大的麻烦,正如和已经评论过的那样,可能会让人非常困惑

    顺便说一句,
    go
    在Oracle中似乎是一个保留的工作,但不知道它做了什么


    要解决您的第一个要点,
    rem
    实际上不是Oracle中的保留字,因此创建一个以
    rem
    作为列名的表是可行的。您的具体问题一定与ant有关。

    我认为您不必担心MySQL保留字,除非您打算同时使用这两种RDBMS

    但是,首先要解决第二点:

    虽然我告诉你如何解决这个问题,但我只能要求你不要这样做

    有些东西必须用双引号括起来,然后你必须记住在任何地方都要这样做。某些UI()需要初始化特殊选项

    事实上,这是一个巨大的麻烦,正如和已经评论过的那样,可能会让人非常困惑

    顺便说一句,
    go
    在Oracle中似乎是一个保留的工作,但不知道它做了什么


    要解决您的第一个要点,
    rem
    实际上不是Oracle中的保留字,因此创建一个以
    rem
    作为列名的表是可行的。您的具体问题一定与ant有关。

    大多数SQL实现都允许您将字段名括在引号或反勾中。然后你可以有几乎任何你喜欢的字段名。但一般来说,你应该尽可能避免所有可能的保留字/关键字。没有别的原因,只是为了避免人们的潜在混淆,更不用说SQL引擎了。在Oracle中用引号括起列名等时要小心。。。Oracle将允许您在用引号换行时创建混合大小写名称(不能用引号换行),从那时起,在引用这些名称时必须使用引号。例如,创建表“xyzzy”-从“xyzzy”中选择*大多数SQL实现允许您将字段名括在引号或反勾中。然后你可以有几乎任何你喜欢的字段名。但一般来说,你应该尽可能避免所有可能的保留字/关键字。没有别的原因,只是为了避免人们的潜在混淆,更不用说SQL引擎了。在Oracle中用引号括起列名等时要小心。。。Oracle将允许您在用引号换行时创建混合大小写名称(不能用引号换行),从那时起,在引用这些名称时必须使用引号。例如,创建表“xyzzy”-从“xyzzy”中选择*