ORACLE機能 ORAエラー

[ORAエラー] ORA-01789: 問合せブロックにある結果の列数が正しくありません

投稿日:2018年8月15日 更新日:

以下のように表示されます。

(日本語)
ORA-01789: 問合せブロックにある結果の列数が正しくありません
(英語)
ORA-01789: query block has incorrect number of result columns

発生パターン

このエラーは以下のような場合に発生します。

  • UNIONで結合するSELECT結果の列数が合っていない
エラー例
SQL> select col1, col2 from tbl_test1 2 union 3 select col1, col2, col3 from tbl_test2 4 / select col1, col2 from tbl_test1 * 行1でエラーが発生しました。: ORA-01789: 問合せブロックにある結果の列数が正しくありません

UNIONする列数が合っていないためエラーが発生しています。

対処法

  • UNIONで結合するSELECT結果は、カラム数を同じにする必要があります。
    (対応する型も同じにする必要があります。)

スポンサーリンク

スポンサーリンク

-ORACLE機能, ORAエラー

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ORACLE

[PL/SQL] GOTO文を使う

GOTO文を使ったサンプルです。 GOTO文を使うと、処理を特定の場所に飛ばすことができます。 サンプル 例)引数が1の ...
ORACLE

[ORACLE関数] 数値をカンマ編集する(TO_CHAR)

数値をカンマ編集するには、TO_CHAR関数を使用すればOKです。 構文 (数値をカンマ編集する) TO_CHAR(<対 ...
ORACLE

[SQL*Plus] 自動コミットを設定する(set autocommit)

自動コミットを設定するには、「autocommit」システム変数を使用します。 構文 (表示構文) show autoc ...
ORACLE

[ORAエラー] ORA-12545: ターゲット・ホストまたはオブジェクトが存在しないため、接続に失敗しました

以下のように表示されます。 (日本語) ORA-12545: ターゲット・ホストまたはオブジェクトが存在しないため、接続 ...
ORACLE

[PL/SQL] ループ処理中にスキップする(CONTINUE)

ループ処理中にカレント処理をスキップして次のループ処理を行うには、 CONTINUEを使用します。 サンプル 以下2つの ...

スポンサーリンク