特定のテーブルからデータを削除する必要があるため、次のクエリを使用しています。
delete from table_a
where objectname in
(Select object_name from table_b where resolved='Y');
現在、Select object_name from table_b where resolved='Y'
クエリは 400 万を超えるレコードを返すため、実行に多くの時間がかかります。私はそれをよりコスト効率の良い方法で書こうとしています。
DELETE FROM table_a
WHERE EXISTS ( SELECT 1 FROM table_b WHERE object_name= objectname AND RESOLVED = ‘Y’ )
AND ROWNUM < 10000;
しかし、エラーがあるようです:
SQL エラー: ORA-00911: 無効な文字 00911. 00000 - 「無効な文字」 *原因: 識別子は、文字と数字以外の ASCII 文字で開始することはできません。$#_ も最初の文字の後に使用できます。二重引用符で囲まれた識別子には、二重引用符以外の任意の文字を含めることができます。代替引用符 (q'#...#') では、区切り文字としてスペース、タブ、または改行を使用できません。他のすべてのコンテキストについては、SQL 言語リファレンス マニュアルを参照してください。
助けてください!