2016-07-06 9 views
0

ストアドプロシージャ内に連結SQLステートメントがあります。これには、選択部分に大文字の式が含まれます。実際にはすぐにコマンド実行を実行するとすべて正常に動作します。今私は、この大文字をパックすることで、その文をより読みやすくしたいと思っています。関数内の式ですが、試してみてください。失敗します。動的SQL内で関数を呼び出すことも可能ですか?動的SQLステートメントで関数呼び出しを使用

+0

タグを使用するDBMSのWITH句でPL/SQLの宣言セクションを使用することができ、このSQL文に対して、この機能を使用している場合。 – jarlh

+0

はいコードはありませんが、エラーは本当に助けになりません。 – kevinsky

+0

'dbms_output.put_line'を使用してダイナミックSQLをチェックし、別のブロックで実行してエラーの内容と修正方法を確認してください。 –

答えて

0

あなたは12Cを使用していて、あなただけがあなたのSQL文

Declare 
myvariable number; 
Begin 

    EXECUTE IMMEDIATE' 
    WITH 
     FUNCTION with_function(p_id IN NUMBER) RETURN NUMBER IS 
     BEGIN 
     RETURN p_id * p_id - p_id; 
     END; 
    SELECT with_function(3) 
    FROM dual 
    WHERE rownum = 1' into myvariable; 
    dbms_output.put_line('myvariable: '||myvariable); 
    End; 
+0

完璧、これは動作します – user

関連する問題