Kayıtlar

2012 tarihine ait yayınlar gösteriliyor

Farklı Databaselerdeki Indexleri Oluşturma

declare CURSOR c1 IS   SELECT p.index_owner,p.table_owner,p.table_name,p.index_name, wm_concat(p.column_name) kolonlar    FROM   DBA_IND_COLUMNS p    WHERE table_name =:TABLE_NAME    AND NOT EXISTS           (SELECT 1 FROM dba_ind_columns@diger_db r            WHERE p.index_name=r.index_name            AND p.index_owner=r.index_owner )    GROUP BY p.index_owner,p.table_owner,p.table_name,p.index_name; BEGIN FOR r1 IN c1 loop   dbms_output.put_line('CREATE INDEX '||r1.index_owner||'.'||r1.index_name||' ON '||r1.table_owner||'.'||r1.table_name||' ('||r1.kolonlar||');' ); end loop; end;

DBA SCHEDULER JOB

DBA SCHEDULER JOB OLUŞTURMA BEGIN     SYS.DBMS_SCHEDULER.CREATE_JOB (             job_name => 'isci',             job_type => 'PLSQL_BLOCK',             job_action => 'BEGIN islemi_yapacak_prosedur; END;',             job_class => 'DEFAULT_JOB_CLASS', repeat_interval => 'FREQ=DAILY; byhour=7',             enabled => true,             comments => 'Bu program gunluk olarak  calisacak'); END; /*******   Değiştirme  ******/ BEGIN DBMS_SCHEDULER.set_attribute (     NAME      => 'ISCI',     ATTRIBUTE => 'repeat_interval',     VALUE     => 'FREQ=DAILY; byhour=9'); END; BEGIN dbms_scheduler.DISABLE ('ISCI'); END; /*******  Çalıştırma ve Durdurma ******/ BEGI...

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...

Windows 7/ Windows Vista Oracle DevSuite 10g kurulumu

Internet Explorer note:  On Windows Vista, IE CANNOT be used to run the Web Forms runtime.  It crashes immediately when you try to run a form.  Instead, I can use either Firefox (Firefox 2,  NOT Firefox 3 ) or Netscape, as long as they are set to disable java.  [ Correction:  IE7 on Vista now runs the Forms 10g forms.  You just need to add "?config=jpi" to the browser URL when starting the Web Forms session.  More IE/Vista info:  Vista JInitiator Problem  ]   The Oracle Developer Suite download page:      http://www.oracle.com/technology/software/products/ids/index.html Oracle Developer Suite Installation Guide:      http://download.oracle.com/docs/cd/B25016_07//doc/dl/core/B16012_04/toc.htm The steps below are those I followed to install Forms 10g (version 10.1.2.0.2) I.   Preliminary system changes in Windows When I started installing, I got the following error message: Insta...