私はH2ファイルデータベースを使用しており、次の問題が発生しています。 NAMEとVALUEの2つのVARCHAR(255)列を持つPROPERTIESという表があり、NAMEが主キーであるとします。今、私はそれが存在しない場合にのみ、新しい行でテーブルを更新したいと思います。存在する場合、そのNAMEのVALUEを変更したくありません。これは、MS SQL Serverでは簡単ですが、H2 SQLにはIFが存在しない場合は存在しません。それはMERGEと呼ばれるコマンドを持っていますが、存在するなら更新します。 H2 SQLでこれを行う方法はありますか?
私はこの質問が重複しているとは思っていません。私はそれがH2を具体的に求めているのを見たことがないからです。H2挿入行のみが存在しない場合
0
A
答えて
0
私はH2に精通していませんが、 "存在しない"が機能しない場合は、新しい値が既に存在するかどうかを確認し、
これはSQL Serverの例なので、syntasxを変更する必要があります。
Insert into Properties
(Name, Value)
source.Newname, source.NewValue
from Source
where NewName
not in (
select Name
from Properties
)
;
+0
ありがとうございますが、コードが別のテーブルから挿入されているようです。私はテーブルに直接定数値を挿入できる必要があります。ソースをどのように埋め込むのですか? –
+0
どのように値を渡していますか?変数を使用していますか?変数を使用すると、 "From Source"句を削除し、NewNameおよびNewValueカラム値を変数に置き換えることができます。 – Adam
関連する問題
- 1. 行が存在しない場合のみSQL挿入
- 2. 値が存在しない場合にのみ挿入
- 3. ビッグクエリ - カラム値が存在しない場合にのみ挿入します
- 4. レコードが存在しない場合はSQL bullkの挿入
- 5. 値が存在しない場合のSQL挿入
- 6. SQL挿入が別の列に存在しない場合
- 7. 挿入トリガーではなくSql - データが存在しない場合は挿入
- 8. レコードが存在しない場合にのみテーブルに挿入する
- 9. Android sqliteレコードが存在しない場合は挿入
- 10. パラメータが存在しない場合、挿入方法は?
- 11. SQL挿入が存在しない場合は、クラス
- 12. 行が存在しない場合のテーブルへの値の挿入
- 13. 行が存在しない場合は挿入するelseはポストグルに挿入しない
- 14. 行が存在しない場合は、更新の代わりに挿入
- 15. SQL更新が存在する場合は、存在しない場合は挿入してください。
- 16. MongoDB-存在しない場合は挿入、そうでない場合は
- 17. SSISは存在しない場合、多数の行を挿入しますか?
- 18. データが存在する場合はデータを削除して挿入し、1日が存在しない場合はデータを挿入してください
- 19. NodeJS:存在しない場合はdynamodbにレコードを挿入
- 20. JPA HIbernate - ManyToOneマッピング - 存在しない場合は挿入
- 21. 挿入(存在しない場合)および返品ID
- 22. PHP/MySQL:存在しない場合はレコードを挿入
- 23. 値がまだ存在しない場合、結合テーブルへの挿入
- 24. Oracleの複数行選択から「存在しない場合は挿入」リテラル
- 25. MySQL:既に存在しない場合は行を挿入しますか?
- 26. SQL Server:cursor存在しない場合に行を挿入します。
- 27. 存在する場合は挿入
- 28. MongoDB atomic "findOrCreate":findOne、存在しない場合は挿入しますが、更新しない場合
- 29. MongoDBとNodeJS挿入が存在しない場合その他の例外エラー
- 30. EFコードファースト - 挿入または更新。テーブルが存在しない場合のエラー
それはあなたがどこH2とexists'ない '使用することができそうですhttp://stackoverflow.com/questions/19768051/h2-sql-database-insert-if-the-record-does-not-exist –
実際それは私にとってはうまくいかない。あなたがH2に存在しない場所を使用できるとは思われません。私はクエリを実行するためにSQuirrel 3.6を使用しています(H2ドライバはh2-1.4.187です) –