私は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. 値が存在しない場合にのみ挿入
- 2. 挿入トリガーではなくSql - データが存在しない場合は挿入
- 3. パラメータが存在しない場合、挿入方法は?
- 4. Android sqliteレコードが存在しない場合は挿入
- 5. 行が存在しない場合は挿入するelseはポストグルに挿入しない
- 6. 行が存在しない場合は、更新の代わりに挿入
- 7. MongoDB-存在しない場合は挿入、そうでない場合は
- 8. PHP/MySQL:存在しない場合はレコードを挿入
- 9. MySQL:既に存在しない場合は行を挿入しますか?
- 10. MongoDB atomic "findOrCreate":findOne、存在しない場合は挿入しますが、更新しない場合
- 11. EFコードファースト - 挿入または更新。テーブルが存在しない場合のエラー
- 12. ルックアップテーブルにデータがまだ存在しない場合、サブクエリを挿入する
- 13. DBに存在しない場合は挿入し、削除しない場合は、アレイ
- 14. それがオラクルに存在しない場合は、新しい行を挿入する方法声明
- 15. mysqlは存在しない場合に値を挿入します。
- 16. ファイルが存在し、ファイルが存在しない場合にのみlinuxでオープンシステムコールを実行する方法?
- 17. ファイルが存在しない場合にのみ作成する
- 18. 属性が存在しない場合のみ__setattr__
- 19. SQl Server CEを使用する。存在しない場合にのみ挿入し、存在する場合に削除できますか?
- 20. result.responseText.matchが存在しない場合
- 21. レコードが存在しない場合は、
- 22. Mac PackageMaker:ファイルが存在しない場合にのみアクションを実行する
- 23. 入力が存在しない場合にタイムラベルを作成
- 24. 次の行が存在しない場合のSQLチェック
- 25. テーブルが存在しない場合は長いクエリを実行
- 26. Mysql:行が存在しない場合は挿入し、そうでない場合は更新します。より簡単なコマンドはありますか?
- 27. 行がデータレアに存在しない場合
- 28. レコードが存在する場合、他の更新を挿入します。
- 29. 存在しない場合のSQLクエリ
- 30. 存在しない場合はINSERT、存在する場合は削除
それはあなたがどこ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です) –