Oracle inserto da funzione
-
29-09-2019 - |
Domanda
sto convertendo stored procedure di SQL Server a Oracle. In SQL Server è possibile inserire in una tabella da una chiamata di funzione.
Questa è la 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 )
Il messaggio di errore che ottengo quando si converte questo per Oracle è "PL / SQL: ORA-00933: comando SQL non adeguatamente finita".
Qualcuno sa che questa affermazione dovrebbe essere simile in Oracle?
Grazie !!!
Soluzione
Se la funzione restituisce un risultato pipeline set non vi resta che mettere la funzione all'interno tabella come segue:
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)
)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow