Oracle Insert من الوظيفة
-
29-09-2019 - |
سؤال
أقوم بتحويل إجراءات SQL Server المخزنة إلى Oracle. في SQL Server ، يمكنك إدراجها في جدول من استدعاء دالة.
هنا هو خادم 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 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)
)
لا تنتمي إلى StackOverflow