后面那个select 没有from,另外如果后面的select 返回多行,这种方法显然不行,不知道你的c1v,c2v,c3v是什么值,如果是传过来的固定值,可以这么写:
insert into test
select 'c1v','c2v','c3v',v1 from test2 order by v1 desc

解决方案 »

  1.   

    insert into test select 'c1v','c2v','c3v',a.v1 from test2 a order by a.v1 desc
      

  2.   

    问一下a.v1 from test2 a order by a.v1 desc
    这么写,返回的数据只有一个吗
      

  3.   

    如果子查询可能返回的是多行数据
    建议用insert into test select 'c1v','c2v','c3v',a.v1 from test2 a order by a.v1 desc
    ,这样不会出错,但是还得考虑主键的问题,请根据实际情况进行测试
      

  4.   

    insert into test
    select 'c1v','c2v','c3v',v1 from test2 order by v1 desc
    应该是这样啊
      

  5.   

    没错,我是考虑到主键的问题,因为我要把主键值插入到test表我现在的语句
    insert into project_shear_step(sheartypeid, id, shearstepnumber, shearstepdesc)values((select nvl(max(id),0) from project_shear_type),project_shear_stepid.nextval,'1','加入步骤说明')P.S 我发帖时少写了from……
      

  6.   

    发现inser into ....select....时不能用排序……,之后改用了max()函数
      

  7.   

    代替mssql的  select ... into ...的用法oracle有吗?