Hurriyet

21 Haziran 2012 Perşembe

Insert İfadeleri

Insert ifadeleri genellikle ETL processlerinde çok kullanılan ifadelerdir. Tek bir dml ifadesinden daha kullanışlı ve fonksiyonel olduğu için kullanılırlar. Bu ifadelerde 4 tarz durum bulunmaktadır.

1- Unconditional insert
2- Conditional insert first
3- Pivoting insert
4- Conditional insert all

Conditional insert first:

Oracle veritabanı böyle bir ifadeyle karşılaştığında ilk önce şartları gözden geçirir. Bu şartları gözden geçirirken de "when" koşullarına bakar.  Buna göre de yapılacak kayıt ekleme işlemi gerçekleştirilir. Bu işlem değerlendirilirken de karşılaşılan ilk doğru şarta bakılır.

insert first
         when  salary <5000 then
                  into sal_low --tablo adı--  values (employee_id,last_name,salary)
         else
                  into sal_high --tablo adı--  values (employee_id,last_name,salary)
select employee_id,first_name,salary  from employees;

Conditional insert all:

Bu şartlı ifadede ise farklı şartların farklı  durumlara  yol açması nedeniyle farklı tablolara kaydın yapılması sağlanmaktadır.

insert first
         when  salary <5000 then
                  into sal_low --tablo adı--  values (employee_id,last_name,salary)
          when job_id is not null then
                  into sal_high --tablo adı--  values (employee_id,last_name,salary)
select employee_id,first_name,salary  from employees;

UnConditional insert all:

Bu ifade de hiçbir şart yoktur. Alınan değerler direk tablolara nakledilirler. Bu tarz bir ifadeyi bilgilerin çoğaltılması gerekirken veya aynı bilgiyi içeren tablolar bulunup da bunlara bilgi aktarmamız gerektiğinde kullanabiliriz.

insert all
               into --tablo_adı-- values(employee_id,last_name,salary)
               into --tablo_adı2-- values(employee_id,last_name,salary)
select employee_id,first_name,salary  from employees; 

 Pivoting insert :

Pivotlama insert'ü bir tablonun bir boyutta pivotlanıp çevrilmesi demektir. Yukarıdaki örnekten farkı ise bilgilerin hep aynı tabloya kaydedilmesidir. Bu şekilde farklı bir bakış açısı getirilir.




insert all
               into --tablo_adı-- values(employee_id,last_name,salary)
               into --tablo_adı-- values(employee_id,last_name,salary)
select employee_id,first_name,salary  from employees;

Hiç yorum yok:

Yorum Gönder