【问题标题】:Oracle sqlplus commentsOracle sqlplus 注释
【发布时间】:2013-09-02 04:38:01
【问题描述】:

为什么像sqlplus <connect> @file这样执行时下面的插入语句不起作用

INSERT INTO abc ( a
                 ,b
                 ,c)
         VALUES ( '1' --a
                 ,'2' --b
                 ,'3'); --c

但它可以在没有 cmets 的情况下工作,即

INSERT INTO abc ( a
                 ,b
                 ,c)
         VALUES ( '1'
                 ,'2'
                 ,'3');

sqlplus 是否将文件展平,即在一行上执行整个文件?这可能会导致该行的其余部分被注释掉?

【问题讨论】:

    标签: sql database oracle sqlplus


    【解决方案1】:

    第一个 insert 语句不起作用只是因为您在语句终止符之后放置了最后一条评论 --c。 SQL*Plus 不允许在语句终止符(在本例中为';' 分号)之后的任何文本。所以你的第一个insert 语句的这个版本将被成功执行:

    INSERT INTO abc ( a
                     ,b
                     ,c)
             VALUES ( '1' --a
                     ,'2' --b
                     ,'3'); 
    

    这个也一样:

    INSERT INTO abc ( a
                     ,b
                     ,c)
             VALUES ( '1' --a
                     ,'2' --b
                     ,'3') --c;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 2016-12-19
      相关资源
      最近更新 更多