
該当KEY=12345が存在すれば、seqに1を加算、存在しない場合は、seqに1を設定する
mergeを使用したsql文を作成したいのですが、
良いサンプルはありませんか?
↓こんな雰囲気でしょうか?
MERGE INTO A表 ab
USING (SELECT KEY FROM A表 where KEY = 12345 ) ac
ON (ab.KEY = ac.KEY)
WHEN MATCHED THEN
UPDATE SET
ac.SEQ = ac.SEQ +1
WHEN NOT MATCHED THEN
INSERT
(KEY, SEQ)
VALUES ("12345",1)
よろしくお願いします
No.2ベストアンサー
- 回答日時:
>USING (SELECT '12345' key from dual) acにあるdualは任意の名称でしょうか?
すみません。dual表はOracleでのダミーテーブルのようなものです。
対象のデータベース名が書いていなかったのに、当方の環境でのSQLを書いてしまいました。
ですので、上記の箇所はお使いになっているデータベース製品に合わせて修正してください。
No.1
- 回答日時:
このSQLだと、A表にkey='12345'のレコードが無い場合はデータが取得できないため期待通りの結果にならないです。
こうすればいいのではないでしょうか。
MERGE INTO A表 ab
USING (SELECT '12345' key from dual) ac
ON (ab.KEY = ac.KEY)
WHEN MATCHED THEN
UPDATE SET
--ac.SEQ = ac.SEQ +1 更新するのはacではなくabですよね
ab.SEQ = ab.SEQ +1
WHEN NOT MATCHED THEN
INSERT
(KEY, SEQ)
VALUES ('12345',1);
この回答への補足
yamada_gさん コメントありがとうございます
USING (SELECT '12345' key from dual) ac
にあるdual は任意の名称でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 2 2023/08/02 18:49
- PHP php エラー 2 2022/10/23 16:43
- 英語 when 節が副詞節の場合の表現 1 2023/07/26 17:33
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- JavaScript SQLでデータベースから返ったデータのJSON形式生成について 1 2022/04/06 12:25
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるDBから別のDBのテーブルをs...
-
ユーザにインフォメーション ス...
-
htmlタグを含んだ文字のデータ...
-
access VBAを勉強中です。DA...
-
ロータスアプローチでデータ連...
-
複数のサーバー間の各データベ...
-
SQLServerのselect文でデータ数...
-
データベースに配列を格納する
-
Amazon.comの「MARC」データベ...
-
mySQLのデータベースにhtmlのコ...
-
データベースの複製の仕方(mysql)
-
utf8bomとutf8mb4の違いがいま...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
PL/SQLをWindowsのBATファイル...
-
同じSQL文で極端に検索が遅くな...
-
数字で「そ」と「り」
-
mysqlにおけるホストのパーセン...
-
ODBCを使用する場合のファイルD...
-
CSVを1行しかインポートしない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるDBから別のDBのテーブルをs...
-
mySQLのデータベースにhtmlのコ...
-
SQLServerのselect文でデータ数...
-
Mysqlのデータベースのリンク
-
ユーザにインフォメーション ス...
-
mysqlデータベース内のuserテー...
-
バッチファイルではパスワード...
-
データベースに配列を格納する
-
mysql データベースを別のサー...
-
データベースの複製の仕方(mysql)
-
binaryへのbyte配列の入れ方
-
phpMyAdminの使い方
-
どの程度のデータベースなら、c...
-
MySQL操作はCUI派、それともGUI派
-
データベースのパンク
-
utf8bomとutf8mb4の違いがいま...
-
sql merge文について
-
MySQL4.1以上で、機種依存文字...
-
韓国語を登録するには
-
PHP+MySQLで数千字程度のテキス...
おすすめ情報