Oracle, insérer multirows de sous-requête avec plus d'une ligne
Im essayant de copier un champ d'une table à l'autre, je veux faire iy en utilisant insert avec une sous-requête comme ceci:
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)
);
mais j'ai eu cette erreur:
01427. 00000 - "une seule ligne sous-requête renvoie plusieurs lignes"
aucune idée de comment dois-je faire cela?
Merci,
OriginalL'auteur Angelo Gabriel Escudero Vía | 2012-10-05
Vous devez vous connecter pour publier un commentaire.
Pense que vous devez avoir à choisir entre
et
Vous pouvez avoir des VALEURS et SÉLECTIONNEZ mixte seulement (comme indiqué par une anomyous cheval)
lorsque vous sélectionnez la requête ne retourne qu'une seule colonne et une seule ligne !
Par le chemin, utilisez la commande JOINDRE... pour Rejoindre vos tables (utilisation des clauses where pour les tables de jointure est plutôt une mauvaise habitude) :
select
requête au lieu d'un seul si cette requête est un scalaire sous-requête (j'.e il retourne exactement un columnn et d'une ligne)ok, ne le savions pas, corrigé mon post.
OriginalL'auteur Raphaël Althaus