Sql 使用嵌套选择插入

Sql 使用嵌套选择插入,sql,oracle,select,insert,max,Sql,Oracle,Select,Insert,Max,我正在尝试将数据插入kundvagn(购物车),并从kundorder(订单)中选择最高ID 我这样做完全错了吗 INSERT INTO kundvagn (ordnr, artnr, antal), VALUES(SELECT MAX(ordnr) from kundorder, 1, 3); 您不需要值关键字。相反,请使用insert。选择: INSERT INTO kundvagn (ordnr, artnr, antal) SELECT MAX(ordnr), 1, 3

我正在尝试将数据插入kundvagn(购物车),并从kundorder(订单)中选择最高ID

我这样做完全错了吗

INSERT INTO kundvagn
(ordnr, artnr, antal),
VALUES(SELECT MAX(ordnr) from kundorder, 1, 3);

您不需要
关键字。相反,请使用
insert。选择

INSERT INTO kundvagn (ordnr, artnr, antal)
    SELECT MAX(ordnr), 1, 3
    FROM kundorder;

让我补充一点,代码看起来可疑。基于
MAX(ordnr)
的插入不考虑其他用户/线程可能正在修改数据。

您不需要
关键字。相反,请使用
insert。选择

INSERT INTO kundvagn (ordnr, artnr, antal)
    SELECT MAX(ordnr), 1, 3
    FROM kundorder;

让我补充一点,代码看起来可疑。基于
MAX(ordnr)
的插入不考虑其他用户/线程可能正在修改数据。

我们如何使其考虑其他线程?在这种情况下,在查询之前读取锁定
kundorder
被认为是正确的事情吗?我们如何让它考虑到其他线程?在这种情况下,在查询之前读取锁定
kundorder
被认为是正确的吗?