复制一行并插入到oracle中的同一个表中

问题描述 投票:0回答:4

我有一个名为 gen 的表,其结构如下; gen01 是主键

gen01    gen02   gen03
    A        2       5
    B        7       9
    C        3      11

我想复制一行并插入到表中。所以我写了一个SQL

insert into gen (gen01, gen02, gen03) 
values 
(D, select gen02, gen03 from gen where gen01 = A)

并报告错误“缺少表达式”。什么原因?谢谢。

sql oracle oracle11g
4个回答
4
投票

试试这个

insert into gen (gen01, gen02, gen03) 
select 'D', gen02, gen03 
from gen where gen01 = 'A';

0
投票

你可以尝试这样的事情

insert into your_table (c1, c2, ...)
select c1, c2, ...
from your_table
where id = 1

0
投票

请使用以下代码。

CREATE TABLE gen(gen01 VARCHAR(100) PRIMARY KEY, gen02 INT, gen03 INT)

INSERT INTO gen(gen01,gen02,gen03)
VALUES('A',2,5),('C',3,11),('B',7,9)

insert into gen (gen01,gen02,gen03) 
select 'D' as gen01,gen02,gen03 from gen where gen01='A';

select * from gen;

0
投票

您可以根据条件在同一个表中插入一些行..

插入 IMP_INVOICE_TAX ( 从 IMP_INVOICE_TAX 选择*,其中 INVOICE_NO=1461009999)

© www.soinside.com 2019 - 2024. All rights reserved.