2017-12-02 23 views
1

Oracleのユーザー定義関数と仮想列を使用しようとしていますが、私の唯一のテスト環境はSQL Fiddleであり、エラーメッセージが間違っていることを理解するのに苦労しています。かなり無論。SQLFiddleのOracleユーザー定義関数

ORA-06575: Package or function COUNTER is in an invalid state

私は...

create table test (
    x number 
) 
// 

create 
    function counter() 
    return number is v_result NUMBER; 
    begin 
     SELECT COUNT(*) INTO v_result FROM test; 
     return v_result; 
    end; 
// 

select test.*, counter() from test 
// 

http://sqlfiddle.com/#!4/0c001

を様々な調整と異なるサイトからのコピー&ペーストを試みをしようとしましたが、機能やsqlfiddleが一緒にきれいに再生するために取得するために見ることができません

誰でもこの仕事をすることができますか、私は盲目的な路地を下っていますか?引数を取りません

+0

あなたの合理的な意見はありますか? – MatBailie

+0

私もそれを理解しませんでした。それは不均衡の多くだったと言うことができます:) –

答えて

2

機能は、あなたがコンパイルエラーのリストについては、sys.user_errorsテーブルを照会することができます

http://sqlfiddle.com/#!4/0c001/5

名の後に任意の(空の)ブラケットを持っていません。 「無効な状態」とは、コードがコンパイルされなかったことを意味します。

関連する問題