これは、役に立たないエラー メッセージが Oracle から返される状況の 1 つです。
私の状況は次のとおりです。PL/SQL でビューを動的に作成しています。文字列を作成し、EXECUTE IMMEDIATE を使用してビューを作成します。文字列が非常に長いので、CLOB を使用して格納します。
以下のコードを TOAD で実行すると、役に立たない
ORA-00907: missing right parenthesis error.
TOAD で (EXECUTE IMMEDIATE を使用せずに) ビューを手動で作成しても問題はありません。私の感じでは、短い文字列を使用してビューを正常に作成できたため (また、dbms_lob.substr() の代わりに to_char() を使用しましたが、to_char() は小さな CLOB でのみ機能します)。
文字列の合計の長さは 13775 です (明らかに、文字列を作成する以下の行を編集しました)。これは Linux 上の Oracle 10g データベースです。
declare
lv_sql CLOB;
begin
lv_sql := ' CREATE OR REPLACE FORCE VIEW my_view.....';
EXECUTE IMMEDIATE dbms_lob.substr(lv_sql, 14765, 1 );
end;