Ang*_*Vía 2 oracle select row insert multirow
我试图将一些字段从一个表复制到另一个,我想通过使用带有这样的子查询的insert来做iy:
insert into sed_reporte_generico
(srg_usuario,
srg_nombres,
srg_ape_paterno,
srg_ape_materno,
srg_objetivo,
srg_peso_ob,
srg_calf_ob)
values
(
(select us.su_st_usuario, us.su_st_nombres, us.su_st_ap_paterno, us.su_st_ap_materno, ob.soc_st_descripcion, ob.soc_nr_peso,ob.soc_nr_calificacion
from sed_objetivo ob, sed_usuarios us, sed_evaluacion ev
where ob.se_evaluacion_pk = ev.se_evaluacion_pk and ev.su_colaborador_fk = us.su_usuarios_pk)
);
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
01427. 00000 - "single-row subquery returns more than one row"
任何想法我应该怎么做?
谢谢,
Rap*_*aus 10
想你必须在两者之间做出选择
insert into table (a, b, c) VALUES(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
和
insert into table (a, b, c)
(SELECT x, y, z from table2)
Run Code Online (Sandbox Code Playgroud)
当你的select查询只返回一列和一行时,你可以只有VALUES和SELECT混合(由anomyous horse指出)!
顺便说一句,使用JOIN ...来加入你的表(使用WHERE子句来连接表是一个坏习惯):
INSERT INTO sed_reporte_generico
(srg_usuario,
srg_nombres,
srg_ape_paterno,
srg_ape_materno,
srg_objetivo,
srg_peso_ob,
srg_calf_ob)
(select us.su_st_usuario, us.su_st_nombres, us.su_st_ap_paterno, us.su_st_ap_materno, ob.soc_st_descripcion, ob.soc_nr_peso,ob.soc_nr_calificacion
FROM sed_objetivo ob
JOIN sed_evaluacion ev ON ob.se_evaluacion_pk = ev.se_evaluacion_pk
JOIN sed_usuarios us on ev.su_colaborador_fk = us.su_usuarios_pk)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18728 次 |
| 最近记录: |