【问题标题】:ORA-00933: SQL command not properly ended in insert commandORA-00933: SQL 命令未在插入命令中正确结束
【发布时间】:2012-10-12 10:13:35
【问题描述】:

同名问题有很多,但我找不到答案。

我做错了什么?

CREATE TABLE J
    (A integer)
;

INSERT INTO J (A)
VALUES
    (1),
    (2),
    (3),
    (4),
    (5),
    (6),
    (7),
    (8),
    (9),
    (10)
;

create 单独工作。问题只是插入。我在 SQL Fiddle 中尝试过。

【问题讨论】:

    标签: oracle sqlfiddle


    【解决方案1】:

    您可以通过多种方式进行操作(请参阅SQL Fiddle with Demo):

    INSERT ALL 
        INTO J (A) VALUES (1)
        INTO J (A) VALUES (2)
        INTO J (A) VALUES (3)
        INTO J (A) VALUES (4)
        INTO J (A) VALUES (5)
        INTO J (A) VALUES (6)
        INTO J (A) VALUES (7)
        INTO J (A) VALUES (8)
    SELECT * FROM dual
    ;
    

    或者(见SQL Fiddle With Demo):

    INSERT INTO J (A)
    select  (1) from dual union all
    select  (2) from dual union all
    select  (3) from dual union all
    select  (4) from dual union all
    select  (5) from dual union all
    select  (6) from dual union all
    select  (7) from dual union all
    select  (8) from dual union all
    select  (9) from dual union all
    select  (10) from dual
    

    甚至为每个单独的 INSERT 语句:

    INSERT INTO J (A) VALUES (1);
    INSERT INTO J (A) VALUES (2);
    INSERT INTO J (A) VALUES (3);
    INSERT INTO J (A) VALUES (4);
    INSERT INTO J (A) VALUES (5);
    INSERT INTO J (A) VALUES (6);
    

    【讨论】:

      【解决方案2】:

      您正在将多个值添加到一列表中。

      你需要 Insert into J (A) values (1);

      Insert into J (A) values (2);

      【讨论】:

        【解决方案3】:

        试试:

        INSERT INTO J (A) VALUES (1);
        INSERT INTO J (A) VALUES (2);
        INSERT INTO J (A) VALUES (3);
        INSERT INTO J (A) VALUES (4);
        ...
        INSERT INTO J (A) VALUES (10);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-09
          • 2010-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多