![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_05.png?e8efa67)
以下のようなSQL文を作成し、Oracle10gで実行したところ、正常に実行されていたのですが、同一のSQL文をOracle9iで実行したところ、
ORA-00905: キーワードがありません。
とエラーがでてしまいました。
merge文はOracle9iから追加された?ものだったと記憶しているですが、思い違いでしょうか?
それともOracle9i、Oracle10gで何か違いがあるのでしょうか?
Oracleのバージョンはそれぞれ以下の通りです。
Oracle10g:10.1.0.2.0
Oracle9i:9.0.1.1.1
よろしくお願い致します。
<やりたいこと>
A表のa列とb列が、B表のa列とb列と一致したものレコードのみ、B表のc列の内容にA表のc列をアップデートする。(インサートはしない)
merge into 表A A
using 表B B
on (A.a = B.a and A.b = B.b)
when matched then
update set A.c = B.c
/
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
これかな~
merge into 表A A
using (select a,b,c from 表B) B
on (A.a = B.a and A.b = B.b)
when matched then
update set A.c = B.c
この回答への補足
ありがとうございます。
構文そのまんまなんですが、結局、Oracle9i(9.0.1.1.1)環境ではどこでも動かないようですのであきらめました。
No.1
- 回答日時:
環境が無いのでちょっと分からないですが、
update set A.c = B.cは書式が間違っていないでしょうか?
update 表A set A.c = B.cのような気がします。
10gでも「update set A.c = B.c」じゃエラーとなるような気が...
この回答への補足
ありがとうございます。
update set A.c = B.c
に間違いはありません。
通常のアップデート文では
update [table_name] set [field_name] = [値] where [条件文]
が基本形ですが、merege文では[条件文]は「on」後ろに、
[table_name]は「into」の後ろに記述します。
よって、10gでは問題なく動作しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- その他(SNS・コミュニケーションサービス) 爆サイやっていたら、下のような文字が出ました! これは何なのでしょうか? nginx error! 1 2023/06/09 12:27
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- SQL Server SQL Oracle serverにって質問です。 会社テーブルがあり、そのテーブルから 社員名、給 4 2022/05/21 12:22
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- その他(ソフトウェア) JavaとOracle Javaって何が違うんですか? 1 2022/05/05 05:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルで複数フォルダ...
-
副問合せにLIKE文を使う方法は...
-
複数レコードの完全一致
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
SQLについて教えて下さい。 主...
-
sqlで質問です。 idを元にidに...
-
oracleで 10,20, 30, というデ...
-
索引作成について
-
googleプレイの履歴で取得とイ...
-
sql(oracle)で質問です。 テ...
-
オラクルゴールドについて
-
sqlのupdate文で質問です。 テ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
”パラメータ値を TextBox から ...
-
[SQL]重複内容を持つデータから...
-
shellからストアドプロシージャ...
-
SQLでlike検索条件を副問い合わ...
-
ビュー(インラインビュー)で...
-
MERGE文について
-
Exp.exeに指定するparfileパラ...
-
データベース
-
ストアドプロシージャでのパラ...
-
バッチからのSQLPlusの実行につ...
-
PLSQLで条件によりSQLを動的に...
-
このような場合のSQLの記述
-
プロシージャーに動的にパラメ...
-
select文でゴミデータを検索し...
-
Oracle8iのUPDATE文
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
VB.NETで DataRow()を利用して...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
おすすめ情報