使用Oracle Insert Into ...值插入多个值

cod*_*iac 2 sql oracle oracle11g

我试图在Oracle 11g中运行以下命令,但不断收到'commmand not proper end'的错误.我是Oracle新手,我无法找到有关插入多个值集的任何内容(除非从表中选择它们,在这种情况下它们不是)....

INSERT INTO category (catcode, catdesc)
VALUES ('BUS', 'BUSINESS'),
    ('CHN', 'CHILDREN'),
    ('COK', 'COOKING'),
    ('COM', 'COMPUTER'),
    ('FAL', 'FAMILY LIFE'),
    ('FIT', 'FITNESS'),
    ('SEH', 'SELF HELP'),
    ('LIT', 'LITERATURE'),
    ('CHN', 'CHILDREN'),
    ('BUS', 'BUSINESS');
Run Code Online (Sandbox Code Playgroud)

如果此语法完全关闭,那么如何在一个语句中插入多个值?

Dba*_*Dba 6

试试这样,

INSERT ALL 
     INTO category (catcode, catdesc) VALUES ('BUS', 'BUSINESS')
     INTO category (catcode, catdesc) VALUES ('CHN', 'CHILDREN')
     INTO category (catcode, catdesc) VALUES ('COK', 'COOKING')
     INTO category (catcode, catdesc) VALUES ('COM', 'COMPUTER')
     INTO category (catcode, catdesc) VALUES ('FAL', 'FAMILY LIFE')
     INTO category (catcode, catdesc) VALUES ('FIT', 'FITNESS')
     INTO category (catcode, catdesc) VALUES ('SEH', 'SELF HELP')
     INTO category (catcode, catdesc) VALUES ('LIT', 'LITERATURE')
     INTO category (catcode, catdesc) VALUES ('CHN', 'CHILDREN')
     INTO category (catcode, catdesc) VALUES ('BUS', 'BUSINESS')
SELECT * FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此处.


Gor*_*off 5

您始终可以使用insert . . . select语法:

INSERT INTO category (catcode, catdesc)
    select 'BUS', 'BUSINESS' from dual union all
    select 'CHN', 'CHILDREN' from dual union all
    select 'COK', 'COOKING' from dual union all
    select 'COM', 'COMPUTER' from dual union all
    select 'FAL', 'FAMILY LIFE' from dual union all
    select 'FIT', 'FITNESS' from dual union all
    select 'SEH', 'SELF HELP' from dual union all
    select 'LIT', 'LITERATURE' from dual union all
    select 'CHN', 'CHILDREN' from dual union all
    select 'BUS', 'BUSINESS' from dual;
Run Code Online (Sandbox Code Playgroud)