我将SQL Server存储的过程转换为Oracle。在SQL Server中,您可以从函数调用中插入表中。

这是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 )

我将其转换为Oracle时收到的错误消息是“ PL/SQL:ORA-00933:SQL命令未正确结束”。

有谁知道甲骨文中的这种说法应该是什么样的?

谢谢!!!

有帮助吗?

解决方案

如果您的功能返回管道的结果集,则只需将功能放入表中,如下所示:

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)
      )
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top