sql >> データベース >  >> RDS >> Oracle

ORA-00900:無効なSQL文エラー?SQLの何が問題になっていますか?

    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のどこにでもあります。

    プロシージャエディタ を使用する方が簡単な場合があります。 。おそらく、オブジェクトブラウザ からタイプと関数を作成した後です。 。

    または、もちろん、別のクライアントを使用してください...




    1. Adobe CQ5を使用した外部データベース?

    2. Sysbenchを使用してMySQLでシャードテーブルのテストデータを生成する

    3. Postgresql9.4のスペースを含む誤った並べ替え/照合/順序

    4. アクティブレコードクエリとherokuの問題。