DB Soloクライアントは、ステートメントの終わりとして認識される最初のセミコロンを解釈しているようです。これは、プレーンSQL(DMLまたはDDL)には適していますが、PL/SQLには適していません。
あなたが投稿したログ画像からそれを見ることができます。 create function ... v_ids integer
を扱います 最初のセミコロンで終わるため、1つのステートメントとして部分的になります。コンパイルされますが、エラーが発生します。次に、次のチャンク(次のセミコロンまで)を別のステートメントとして受け取ります-v_str varchar2(5000)
-有効なSQLではないため、ORA-00900を取得します。
したがって、それに基づいて、PL/SQLを異なる方法で処理する方法を理解していないようです。ただし、セミコロンをステートメントの区切り文字として扱わないように設定を変更できます。つまり、create type
の両方の後にGOを追加する必要があります。 およびcreate function
ステートメント、およびその他のクエリや呼び出し。これは、/
を使用するのと似ています。 SQL*PlusまたはSQLDeveloperのどこにでもあります。
プロシージャエディタ を使用する方が簡単な場合があります。 。おそらく、オブジェクトブラウザ からタイプと関数を作成した後です。 。
または、もちろん、別のクライアントを使用してください...