【问题标题】:SQL Multiple Insert into multiple rowsSQL 多次插入到多行中
【发布时间】:2017-12-20 15:33:37
【问题描述】:

我试图在不指定列名的情况下向表中插入多行,但是,我在第一个逗号上收到错误,它是部分识别的规则,它给了我一个错误

INSERT INTO MY_EMPLOYEE
VALUES(126,'Popov', 'Olga', 'opopov', 8500), 
    (127, 'Chen', 'Ling', 'lcheng', 14500), 
    (128, 'Dunn', 'David', 'ddunn', NULL);

【问题讨论】:

标签: sql oracle


【解决方案1】:

我认为 Oracle 不支持 VALUES 的多条记录。这是一个简单的替代方案:

INSERT INTO MY_EMPLOYEE
    SELECT 126,'Popov', 'Olga', 'opopov', 8500 FROM DUAL UNION ALL
    SELECT 127, 'Chen', 'Ling', 'lcheng', 14500 FROM DUAL UNION ALL 
    SELECT 128, 'Dunn', 'David', 'ddunn', NULL FROM DUAL;

注意:我强烈建议您指定插入的列,但这是另一个问题。

【讨论】:

    【解决方案2】:

    试试这个;

    INSERT INTO MY_EMPLOYEE(col1_name,col2_name,col3_name,col4_name,col5_name)
    VALUES(126,'Popov', 'Olga', 'opopov', 8500), 
        (127, 'Chen', 'Ling', 'lcheng', 14500), 
        (128, 'Dunn', 'David', 'ddunn', NULL);
    

    【讨论】:

    • 这是 MySQL 语法,问题是关于不支持以这种方式插入多行的 Oracle。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    相关资源
    最近更新 更多