Kayıtlar

Haziran, 2012 tarihine ait yayınlar gösteriliyor

Case kullanarak Update

UPDATE table A SET (A.cikis_tarihi,A.giris_tarihi)=                             (SELECT  CASE        WHEN b.sekli in ('H','O','N') THEN b.alma_tarihi+1 WHEN b.type='K' AND  b.user_id IS NOT NULL THEN b.alma_tarihi+5 WHEN b.type='K' AND  b. user_id is null THEN b.alma_tarihi+6  END AS cikis_tarihi,                                           b.tarih AS  giris_tarihi FROM table b                                 WHERE  b.tarih=to_date('01092012','ddmmyyyy') AND A.ROWID=b.ROWID                               ) WHERE tarih=to_date('01092012','ddmmyyyy') and hata=0 ;

Parallel select

select /*+ PARALLEL(t,4) */ count(*) from emp t;  show parameter parallel;  show parameter cpu;  ALTER SYSTEM SET parallel_max_servers=8;  alter session enable parallel dml; select /*+ PARALLEL(t,4) */ count(*) from emp t;

TABLE OF kullanımı

DECLARE TYPE harfler IS TABLE OF CHAR(1); alfabe harfler := harfler ('a','b','c','d','e'); l_st harfler := harfler ('A','c'); BEGIN IF l_st SUBMULTISET OF alfabe THEN dbms_output.put_line('BULDUM'); ELSE    dbms_output.put_line('OLMADI'); END If; END;

Join ile Update

UPDATE t1    SET t1.data = (SELECT t2.data                 FROM  t2                WHERE t1.a=t2.a AND t1.b=t2.b AND t1.c=t2.c AND t2.d=1 and t2.e='01062012' AND t1.f=t2.f AND t1.h=t2.h --and rownum=1 ) WHERE t1.d=0 AND t1.e='01062012' and t1.i=0;

Materialized View Kullanımı

--Önce kullanacağımız tablo ve materialized VIEW varsa onları bir DROP edelim de problem çıkarmasınlar. DROP TABLE tablo1 ; DROP materialized VIEW mv_tablo1; DROP MATERIALIZED VIEW LOG ON tablo1; /*Elimizde bulunan kaynak tablodaki dataları kullanacağımız tabloya aktarıyoruz. Çünkü MATERIALIZED VIEW güncellemesini görebilmek için kullandığımız bu tablo1 tablosunda veri değişikliği yapacağız*/ CREATE TABLE tablo1 AS SELECT fis_numarasi, islem_tarihi, brut_tahsilat, referans FROM kaynak_tablo WHERE islem_tarihi = to_date('01062012', 'ddmmyyy') ; SELECT * FROM tablo1 ; -- tabloya kayıtlar atıldı ALTER TABLE tablo1 ADD CONSTRAINT tablo1_pk PRIMARY KEY(referans) ; -- Tablo1'e primary key ekliyoruz,Kayıt değişikliklerini loglamak için kullanacak -- tablo1 deki data değişikliklerini loglaması CREATE MATERIALIZED VIEW LOG ON tablo1 WITH (fis_numarasi, brut_tahsilat), rowid including NEW VALUES ; ALTER MATERIALIZED VIEW LOG ON tablo1 ; /*Niha...