スキーマ「USER」にテーブル「A」があります。このテーブルには3つの列があります。以下は列の名前です。
このテーブルに行を挿入したいのですが、行が(同じIDで)既に存在する場合は、エラーsqlcode -803を表示する代わりに、名前と経過時間を更新する必要があります。
これを単一のクエリで行う方法はありますか?
質問のコメントで述べたように、 MERGE
はあなたが探している答えです。
この素晴らしいブログもチェックしてください:
MERGE
ステートメントの説明 はSerge Rielau(瑞赛奇)とRick Swagermanによるものです。
あなたの場合、それは次のようになります:
MERGE INTO <tab> AS ...
WHEN MATCHED THEN
UPDATE ...
WHEN NOT MATCHED THEN
INSERT...