insertion de la fonction Oracle
-
29-09-2019 - |
Question
Je suis en train de convertir procédures stockées SQL Server à Oracle. Dans SQL Server, vous pouvez insérer dans une table à partir d'un appel de fonction.
Voici le SQL Server:
INSERT INTO t_tmpl( rel_class_code, rel_side, template_id, template_name, template_desc )
SELECT rel_class_code, ls_rel_side, obj_id, name, description
FROM etmf_get_templates_for_rel( ps_rel_class_code, ls_rel_side, pi_called_by )
Le message d'erreur que je reçois quand la conversion de ce à Oracle est "PL / SQL: ORA-00933: commande SQL pas correctement terminé".
Quelqu'un sait-il ce que cette déclaration devrait ressembler à Oracle?
Merci !!!
La solution
Si votre fonction renvoie un résultat situé juste à vous pipelinée besoin de mettre la fonction à l'intérieur de tableau comme suit:
INSERT INTO t_tmpl
(rel_class_code, rel_side, template_id, template_name, template_desc)
SELECT rel_class_code, ls_rel_side, obj_id, name, description
FROM TABLE(
etmf_get_templates_for_rel(ps_rel_class_code, ls_rel_side, pi_called_by)
)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow