在Oracle中插入多条记录

36 浏览
0 Comments

在Oracle中插入多条记录

这个问题已经有答案了

在Oracle中执行多行插入的最佳方法是什么?

我正在使用Oracle SQL Developer向我的数据库中插入行。

虽然这个请求是工作的:

INSERT INTO TABLE ( USERID, USERNAME) VALUES (1,"ok1")

但第二个请求(当我尝试插入多行时)不起作用:

INSERT INTO TABLE ( USERID, USERNAME) VALUES (1,"ok1"),(2,"ok2")

我收到了这个错误:

Erreur SQL : ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"

admin 更改状态以发布 2023年5月24日
0
0 Comments

Oracle不支持多行插入。您需要为每行编写一个insert语句:

INSERT INTO TABLE ( USERID, USERNAME) VALUES (1,'ok1');
INSERT INTO TABLE ( USERID, USERNAME) VALUES (2,'ok2');

此外:在SQL中,字符串字面值需要用单引号括起来。双引号是用于标识符的。 "ok1"是列名称,'ok1'是字符串常量。

0
0 Comments

您可以使用INSERT ALL语句,例如:

INSERT ALL
  INTO mytable (column1, column2, column3) VALUES ('val1.1', 'val1.2', 'val1.3')
  INTO mytable (column1, column2, column3) VALUES ('val2.1', 'val2.2', 'val2.3')
  INTO mytable (column1, column2, column3) VALUES ('val3.1', 'val3.2', 'val3.3')
SELECT * FROM dual;

0