1

例外 :

当不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。

我正在尝试使用已经插入的一行记录插入一行。请帮我解决这个问题。

insert into RDT_ATTACHMENTS  values
((select  MAX(id) from RDT_ATTACHMENTS),1363,(select fname,fpath,fsize,description,refentity,uploadby,uploadon,
      originalfname,LATEST   from RDT_ATTACHMENTS where id = 68))
4

2 回答 2

2

您需要删除 VALUES 关键字

INSERT INTO RDT_ATTACHMENTS
SELECT (SELECT MAX(id) FROM RDT_ATTACHMENTS), 
        1363,
        fname,
        fpath,
        fsize,
        description,
        refentity,
        uploadby,
        uploadon,
        originalfname,
        LATEST   
FROM RDT_ATTACHMENTS 
WHERE id = 68
于 2013-04-25T07:22:01.673 回答
2

请尝试以下查询:

insert into RDT_ATTACHMENTS
select  
    MAX(id) over(), -- (SELECT MAX(id) FROM RDT_ATTACHMENTS) to get the max(id) of table
    1363, 
    fname,
    fpath,
    fsize,
    description,
    refentity,
    uploadby,
    uploadon,
    originalfname,
    LATEST   
from RDT_ATTACHMENTS
where id = 68

提供的表RDT_ATTACHMENTS在选择中以相同的顺序具有相同数量的列。

于 2013-04-25T06:59:09.247 回答