ホームページ >データベース >mysql チュートリアル >Oracle 11g INSERT SELECT ステートメントで ORA-00936 エラーが発生するのはなぜですか?

Oracle 11g INSERT SELECT ステートメントで ORA-00936 エラーが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-29 17:50:11632ブラウズ

Why Am I Getting an ORA-00936 Error with My Oracle 11g INSERT SELECT Statement?

Oracle 11G での INSERT SELECT ステートメントのトラブルシューティング

Oracle 11G で INSERT SELECT ステートメントを実行しようとすると、「ORA- 00936: 式がありません」エラー。このエラーは通常、ステートメントの構文に問題があることを示します。

この問題を解決するには、ステートメントを注意深く調べてください。よくある間違いの 1 つは、INSERT SELECT ステートメントに VALUES キーワードを含めることです。 Oracle では、VALUES キーワードはテーブルに明示的な値を挿入する場合にのみ使用され、別のテーブルから値を選択する場合には使用されません。

INSERT SELECT ステートメントの正しい構文は次のとおりです。

INSERT INTO table_name (column_list)
SELECT column_list
FROM source_table;

したがって、ステートメントは次のように変更する必要があります:

INSERT INTO table1 (col1, col2)
SELECT t1.col1, t2.col2
FROM oldtable1 t1, oldtable2 t2;

この修正された構文は、 oldtable1 と oldtable2 の間のデカルト結合を行い、結果の行を table1 に挿入します。

以上がOracle 11g INSERT SELECT ステートメントで ORA-00936 エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。