错误SQL:ORA-00907:"缺少右括号"

时间:2017-10-30 09:03:55

标签: sql oracle oracle11g oracle12c

我有TABLE_A (user, book, msdin); 和TABLE_B (car_id, user, book, msdin);

我正在尝试制作此插页

INSERT INTO TABLE_B (car_id, user, book, msdin)
values 
(11, (select user, book, msdin from TABLE_A));

但是我收到了这个错误:ORA-00907: "missing right parenthesis",但右/左括号的数量是相同的

3 个答案:

答案 0 :(得分:1)

您可能需要INSERT SELECT声明

INSERT INTO TABLE_B (car_id, user, book, msdin)
select 11, user, book, msdin from TABLE_A;

SELECT返回的值及其数据类型的数量必须与INSERT后面的表的属性相对应。在您尝试使用时,VALUES中的INSERT后面的子选择是不可能的。

答案 1 :(得分:0)

insert中的no.of列与值字段中的no.of列不匹配。 试试这个..

INSERT INTO TABLE_B (car_id, user, book, msdin)
select 11, user, book, msdin from TABLE_A ;

答案 2 :(得分:-2)

如果您的TABLE_A只有1条记录,那么您需要执行以下操作 -

INSERT INTO TABLE_B (car_id, user, book, msdin)
values 
    (11, 
     (select  user from TABLE_A),
     (select book from TABLE_A),
     (select msdin from TABLE_A),
);