主キーが一致し、アクティブな 'Y'レコードを挿入した行がない場合は、次の操作を行います。これは可能ですか?マージステートメントには存在しませんか?
私はこれを試してみました:
-- Merge statement
MERGE INTO table1 AS DST
USING table2 AS SRC
ON (SRC.Code = DST.Code)
--Existing records updated if data changes
WHEN MATCHED
AND IF NOT EXISTS (WHERE active='Y' FROM table1)
THEN
INSERT INTO table1 (colum)
SELECT value
+-------+-------------+--------+
| Code | description | Active |
+-------+-------------+--------+
| AB | just | |
| | something | No |
+-------+-------------+--------+
同じコードでアクティブなレコードが存在しない場合にのみ、私はレコードを挿入します。新しいレコードが、私はそれが
編集それがより明確に願っています。この
+-------+-------------+--------+
| Code | description | Active |
+-------+-------------+--------+
| AB | something | |
| | else | YES |
+-------+-------------+--------+
次のようになります。そのことはできない気にしないで、私はこのエラーメッセージが表示されました: はタイプのアクションは、「INSERTは」ではありませんMERGEステートメントの 'WHEN MATCHED'節で許可されています。
これは作品をマージする方法はありません。従来のIFを使用することを検討してください。 – Toby
テーブル構造のサンプルデータと期待される最終結果は、あなたの質問を理解し、答えを出すのに役立ちます。 –
投稿を編集する際に問題がありましたが、現在サンプルデータがあります – R2D2