0
私は、3つの複合プライマリ・キー(customer_id列、system_origin列、policy_number列)で構成される複数の列を持つ表を持っています。 以下のようにテーブルが作成されます。私は行が既にCUSTOMER_ID、system_originのためのユニークな組み合わせのために存在するかどうかを初ストアドプロシージャを書き込むための要件が、policy_numberそれが有する既存の行を更新新しい値を挿入する前にコンポジット・プライマリ・キーをチェックする方法
Create table LOST_MEMBER_ACCESS_LOG (
Customer_id varchar2(20) NOT NULL,
System_Origin varchar2(20) NOT NULL,
Policy_Number varchar2(20) NOT_NULL,
PRIMARY_KEY(Customer_id,System_Origin, Policy_Number)
);
新しい値を挿入するか、新しい行を挿入します。
if row exists then
update ...
else
insert ...
end if;
しかし、もっと簡単な方法があります:あなたはあなたがしたいと言っているのか
MERGEは、探しているコマンドです。 [詳細はこちら](https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm#SQLRF01606) – APC
「LEFT JOIN」を使用して値の有無を確認するには、「INSERT 'と' UPDATE'がありますが、2つのクエリを別々の 'OR'で書く必要があります。テーブルで直接チェックしてから、条件付きでクエリを設定することができます。 – Susang