機能からの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