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 !!!

Était-ce utile?

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
scroll top