Merge Yapısı


Başlangıçta tmp_akuzhan isimli bir tablomuz olsun ve ad , soyad isimli iki kolonu olsun. Ad kolonu ‘abdullah’ değeri ile dolu olsun ve soyad kolonu boş olsun.

Aşağıdaki şekilde eşleştiğinde soyadı kolonunu dışardan aldığınız değer ile update edebilirsiniz.

        MERGE INTO TMP_AKUZHAN TBL
        USING (
                SELECT
                    'abdullah' ad
                    , 'kuzhan' soyad
                FROM
                    DUAL
              ) VTBL
        ON
            (TBL.ad=VTBL.ad)
        WHEN MATCHED THEN
            UPDATE SET
                TBL.soyad=VTBL.soyad
        WHEN NOT MATCHED THEN
            INSERT
            (
                ad,
                soyad
            )
            VALUES
            (
                VTBL.ad,
                VTBL.soyad
            );

Ayrıca ad kolonları eşleşmiyorsa, yani verdiğiniz değer tabloda yoksa insert ette diyebilirsiniz.

        MERGE INTO TMP_AKUZHAN TBL
        USING (
                SELECT
                    'perihan' ad
                    , 'kuzhan' soyad
                FROM
                    DUAL
              ) VTBL
        ON
            (TBL.ad=VTBL.ad)
        WHEN MATCHED THEN
            UPDATE SET
                TBL.soyad=VTBL.soyad
        WHEN NOT MATCHED THEN
            INSERT
            (
                ad,
                soyad
            )
            VALUES
            (
                VTBL.ad,
                VTBL.soyad
            );

Ben ad ve soyad değerlerini kendim belirleyip dual’den select çektim, bu işlem iki tablonun merge edilmesi içinde kullanılabilir.

Rastgele Yazılar

Merge Yapısı ile Benzer Yazılar:

18 March 2010 Saat : 12:05
  Oracle

Merge Yapısı Yazısı için Yorum Yapabilirsiniz

 Son Yazılar FriendFeed
reklam
seo kitabı
reklam
reklam

Translate

EnglishFrenchGermanItalianPortugueseRussianSpanishTurkish