

以下のような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も見ています
-
MERGE文を単体テーブルに対して行いたい
Oracle
-
CASE文のエラーについて
Oracle
-
オラクルのUPDATEで複数テーブル
Oracle
-
-
4
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
5
異なるスキーマからデータを抽出するには?oracl、PL/SQL
Oracle
-
6
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
7
テーブルの存在チェックについて
Oracle
-
8
ODP.NETのバージョン確認
Oracle
-
9
はじめまして!
Oracle
-
10
キャッシュを使わずにSELECTを投げたい
Oracle
-
11
SQLPLUSで結果を画面に表示しない
Oracle
-
12
SQLで部分的にGROUP BYしたいとき
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MERGE文について
-
PLSQLで条件によりSQLを動的に...
-
PHP8でWarning:Undefined varia...
-
ListView 項目の選択/選択解除...
-
任意フォルダから画像をすべて...
-
Accessのクエリで、replace関数...
-
表にフィルターをかけ、絞った...
-
i=cells(Rows.Count, 1)とi=cel...
-
テキストボックスのvalueとtext...
-
Excelで指定した日付から過去の...
-
DataGrdViewに関連付けたデータ...
-
[エクセル]連続する指定範囲か...
-
count(*)で取得した値をJAVAの...
-
VBAでActiveDirectoryのユーザ...
-
文字列の後ろから必要分だけ削...
-
VB.NETで DataRow()を利用して...
-
エクセルで、絶対値の平均を算...
-
エクセルvbaで、別シートの最下...
-
ExcelVBAを使って、値...
-
Word版VBで表の任意の箇所を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
”パラメータ値を TextBox から ...
-
MERGE文について
-
[SQL]重複内容を持つデータから...
-
SQLでlike検索条件を副問い合わ...
-
PLSQLで条件によりSQLを動的に...
-
shellからストアドプロシージャ...
-
Exp.exeに指定するparfileパラ...
-
select文でゴミデータを検索し...
-
ストアドプロシージャでのパラ...
-
ビュー(インラインビュー)で...
-
条件で取得列を分ける事は可能?
-
SQL文 教えて下さい。
-
列の桁数変更の方法 (oracle 8i)
-
UPDATE文の書き方を教えて下さい。
-
SQL構文を手助けしてください
-
プロシージャーに動的にパラメ...
-
バッチからのSQLPlusの実行につ...
-
oracleの表の各列に対して、
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
おすすめ情報