1

Oracle da gruplamadan count ve sum alma işlemleri.

Posted by Gökhan Şahin on Sep 28, 2010 in Database, Oracle

Bir önceki yazımızda organizasyon tablosunu oluşturmuştuk. Şimdi bu tablomuzu ve mevcut kayıtları kullanarak. Gruplama işlemi yapmadan organizasyon_ust_id sine göre count alacağız.

select ORGANIZASYON_ID,ORGANIZASYON_UST_ID,ORGANIZASYON_ADI,count(*) over(partition by organizasyon_ust_id) from organizasyon

çıktı şu şekilde olacaktır.
______________________________________________________________________________________________
1 0 GENEL KURUL 1
2 1 YÖNETİM KURULU 2
4 1 GENEL MÜDÜRLÜK MAKAMI 2
3 2 DENETÇİLER 1
.
.
.
55 44 MALZEME İKMAL ŞUBE MD. 2
56 44 ATÖLYE-TAMİRHANE ŞUBE MD. 2

_______________________________________________
Burda en son alan bize organizasyon_ust_id si aynı olan kayıtların sayısını vermektedir.

Sql imizi biraz değiştirelim.

select ORGANIZASYON_ID,ORGANIZASYON_UST_ID,substr(organizasyon_adi,1,1),ORGANIZASYON_ADI,
sum(1) over(partition by substr(organizasyon_adi,1,1))
from organizasyon

Burda grouplama kriterimizi değiştirdik ve count yerine sum aldık. Buna göre çıktı şu şekilde olacaktır.
_______________________________________________________________________________________________
52 22 A ATIKSU ARTIMA TES.ŞUBE MD. 7
46 21 A ARITMA TES. VE ÇEVRE SULAMA ŞB.MD. 7
9 6 A ABONE İŞLERI ŞUBE MÜD. 7
53 22 A ATIKSU KONTROL ŞUBE MD. 7
6 5 A ABONE İŞLERİ DAİRE BŞK. 7
56 44 A ATÖLYE-TAMİRHANE ŞUBE MD. 7
57 42 A ARAŞTIRMA GELİŞ.ŞB.MD. 7
30 24 B BİLGİ İŞLEM ŞUBE MD. 4
45 4 B BASIN VE HALKLA İLİŞ.BÜROSU 4
.
.
.
17 4 T TEFTİŞ KURULU 4
7 6 T TAHAKKUK İŞLERİ ŞUBE MÜD 4
43 11 Y YATIRIM VE İNŞAAT DAİ.BŞK. 2
2 1 Y YÖNETİM KURULU 2
______________________________________________________________________________________________

 
0

Oracle da Ağaç yapısı sqller de SYS_CONNECT_BY_PATH Kullanımı

Posted by Gökhan Şahin on Sep 28, 2010 in Database, Oracle

Bir önceki yazımızda ağaç yapısı sqller den bahsetmiştik. Bu yazımızda bir organizasyon tablomuz olacak ve bu organizason tablomuzdaki oraganizasyon isimlerini ağaç yapısına göre yan yana yazdırmayı deneyeceğiz.

Önce tablomuzu oluşturulalım.

CREATE TABLE ORGANIZASYON
(
ORGANIZASYON_ID NUMBER(5) NOT NULL,
ORGANIZASYON_UST_ID NUMBER(5) NOT NULL,
ORGANIZASYON_ADI VARCHAR2(100 BYTE) NOT NULL,
);

Şimdi Kayıtlarımızı oluşturalım.

--------------------------------------------------------------------------------
INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (1 ,0,'GENEL KURUL' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (2 ,1,'YÖNETİM KURULU' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (3 ,2,'DENETÇİLER' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (4 ,1,'GENEL MÜDÜRLÜK MAKAMI' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (6 ,5,'ABONE İŞLERİ DAİRE BŞK.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (7 ,6,'TAHAKKUK İŞLERİ ŞUBE MÜD' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (8 ,6,'SAYAÇ İŞLEM ŞUBE MÜD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (9 ,6,'ABONE İŞLERI ŞUBE MÜD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (11 ,4,'GENEL MÜDÜR YRD.TEKNIK ISLETMELER' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (13 ,4,'GENEL EVRAK SERVİSİ' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (15 ,4,'HUKUK MUŞAVİRLİĞİ' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (16 ,4,'SİVİL SAVUNMA UZMANI' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (17 ,4,'TEFTİŞ KURULU' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (18 ,4,'ÖZEL KALEM' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (21 ,5,'SU TESİSLERİ DAİRE BAŞKANLIĞI' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (22 ,5,'KANALİZASYON DAİRE BAŞKANLIĞI' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (23 ,5,'İNSAN KAY.VE DEST.HİZ.DAİ.BŞK.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (24 ,11,'BİLGİ İŞLEM DAİ.BŞK.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (27 ,23,'INSAN KAYNAKLARI SUBE MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (28 ,23,'EĞİTİM VE SOSYAL İŞLER ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (29 ,4,'TABİPLİK' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (30 ,24,'BİLGİ İŞLEM ŞUBE MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (43 ,11,'YATIRIM VE İNŞAAT DAİ.BŞK.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (44 ,11,'ELEKTİRİK MAKİNE VE MLZ.İKM.DA.BŞK.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (34 ,11,'MALİ HİZMETLER DAİ.BŞK.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (35 ,6,'TAHSİLAT İŞLERİ ŞUBE MÜD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (45 ,4,'BASIN VE HALKLA İLİŞ.BÜROSU' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (5 ,4,'GENEL MÜDÜR YRD.İDARİ' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (46 ,21,'ARITMA TES. VE ÇEVRE SULAMA ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (47 ,21,'KUYU VE POMPA İŞTASYONLARI ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (48 ,21,'SU ARIZA ŞUBE MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (49 ,23,'DESTEK HİZ.ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (42 ,11,'PLAN PROJE DAİ.BŞK.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (50 ,34,'MALİ HİZMETLER ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (51 ,34,'MUHASEBE ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (52 ,22,'ATIKSU ARTIMA TES.ŞUBE MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (53 ,22,'ATIKSU KONTROL ŞUBE MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (54 ,22,'KANAL ARIZA ŞUBE MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (55 ,44,'MALZEME İKMAL ŞUBE MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (56 ,44,'ATÖLYE-TAMİRHANE ŞUBE MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (57 ,42,'ARAŞTIRMA GELİŞ.ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (58 ,42,'SU PLAN PROJE ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (59 ,42,'KANAL PROJE ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (60 ,43,'İHALE ŞUBE MÜD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (61 ,43,'SU YAPIM ŞUBE MÜD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (62 ,43,'KANAL YAPIM ŞUBE MÜD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (63 ,43,'BAKIM VE ONARIM ŞB.MD.' );

INSERT INTO ORGANIZASYON
(ORGANIZASYON_ID, ORGANIZASYON_UST_ID, ORGANIZASYON_ADI)
VALUES (80 ,24,'İLETİŞİM ŞUBE MD.' );

Şimdi Organizasyon isimlerini ağaç yapısına göre listeleyelim.

SELECT organizasyon_id,SYS_CONNECT_BY_PATH (ORGANIZASYON_ADI, '/')
FROM organizasyon o
START WITH organizasyon_ust_id = 0
CONNECT BY PRIOR organizasyon_id = organizasyon_ust_id;

Çıktı şu şekilde olacaktır.

____________________________________________________________________________________________________

ORGANIZASYON_ID SYS_CONNECT_BY_PATH(ORGANIZASYON_ADI,’/')

1 /GENEL KURUL
2 /GENEL KURUL/YÖNETİM KURULU
3 /GENEL KURUL/YÖNETİM KURULU/DENETÇİLER
4 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI
5 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ
6 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/ABONE İŞLERİ DAİRE BŞK.
7 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/ABONE İŞLERİ DAİRE BŞK./TAHAKKUK İŞLERİ ŞUBE MÜD
8 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/ABONE İŞLERİ DAİRE BŞK./SAYAÇ İŞLEM ŞUBE MÜD.
9 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/ABONE İŞLERİ DAİRE BŞK./ABONE İŞLERI ŞUBE MÜD.
35 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/ABONE İŞLERİ DAİRE BŞK./TAHSİLAT İŞLERİ ŞUBE MÜD.
21 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/SU TESİSLERİ DAİRE BAŞKANLIĞI
46 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/SU TESİSLERİ DAİRE BAŞKANLIĞI/ARITMA TES. VE ÇEVRE SULAMA ŞB.MD.
47 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/SU TESİSLERİ DAİRE BAŞKANLIĞI/KUYU VE POMPA İŞTASYONLARI ŞB.MD.
48 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/SU TESİSLERİ DAİRE BAŞKANLIĞI/SU ARIZA ŞUBE MD.
22 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/KANALİZASYON DAİRE BAŞKANLIĞI
52 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/KANALİZASYON DAİRE BAŞKANLIĞI/ATIKSU ARTIMA TES.ŞUBE MD.
53 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/KANALİZASYON DAİRE BAŞKANLIĞI/ATIKSU KONTROL ŞUBE MD.
54 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/KANALİZASYON DAİRE BAŞKANLIĞI/KANAL ARIZA ŞUBE MD.
23 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/İNSAN KAY.VE DEST.HİZ.DAİ.BŞK.
27 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/İNSAN KAY.VE DEST.HİZ.DAİ.BŞK./INSAN KAYNAKLARI SUBE MD.
28 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/İNSAN KAY.VE DEST.HİZ.DAİ.BŞK./EĞİTİM VE SOSYAL İŞLER ŞB.MD.
49 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.İDARİ/İNSAN KAY.VE DEST.HİZ.DAİ.BŞK./DESTEK HİZ.ŞB.MD.
11 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER
24 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/BİLGİ İŞLEM DAİ.BŞK.
30 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/BİLGİ İŞLEM DAİ.BŞK./BİLGİ İŞLEM ŞUBE MD.
80 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/BİLGİ İŞLEM DAİ.BŞK./İLETİŞİM ŞUBE MD.
34 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/MALİ HİZMETLER DAİ.BŞK.
50 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/MALİ HİZMETLER DAİ.BŞK./MALİ HİZMETLER ŞB.MD.
51 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/MALİ HİZMETLER DAİ.BŞK./MUHASEBE ŞB.MD.
42 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/PLAN PROJE DAİ.BŞK.
57 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/PLAN PROJE DAİ.BŞK./ARAŞTIRMA GELİŞ.ŞB.MD.
58 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/PLAN PROJE DAİ.BŞK./SU PLAN PROJE ŞB.MD.
59 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/PLAN PROJE DAİ.BŞK./KANAL PROJE ŞB.MD.
43 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/YATIRIM VE İNŞAAT DAİ.BŞK.
60 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/YATIRIM VE İNŞAAT DAİ.BŞK./İHALE ŞUBE MÜD.
61 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/YATIRIM VE İNŞAAT DAİ.BŞK./SU YAPIM ŞUBE MÜD.
62 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/YATIRIM VE İNŞAAT DAİ.BŞK./KANAL YAPIM ŞUBE MÜD.
63 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/YATIRIM VE İNŞAAT DAİ.BŞK./BAKIM VE ONARIM ŞB.MD.
44 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/ELEKTİRİK MAKİNE VE MLZ.İKM.DA.BŞK.
55 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/ELEKTİRİK MAKİNE VE MLZ.İKM.DA.BŞK./MALZEME İKMAL ŞUBE MD.
56 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL MÜDÜR YRD.TEKNIK ISLETMELER/ELEKTİRİK MAKİNE VE MLZ.İKM.DA.BŞK./ATÖLYE-TAMİRHANE ŞUBE MD.
13 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/GENEL EVRAK SERVİSİ
15 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/HUKUK MUŞAVİRLİĞİ
16 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/SİVİL SAVUNMA UZMANI
17 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/TEFTİŞ KURULU
18 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/ÖZEL KALEM
29 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/TABİPLİK
45 /GENEL KURUL/GENEL MÜDÜRLÜK MAKAMI/BASIN VE HALKLA İLİŞ.BÜROSU
____________________________________________________________________________________________________

 
0

Oracle Ağaç Yapısı Sql

Posted by Gökhan Şahin on Sep 28, 2010 in Database, Oracle

Öncelikle tablomuzu oluşturuyoruz.

create table test_connect_by (
parent number,
child number,
constraint uq_tcb unique (child)
);

daha sonra kayıtlarımız insert edelim.

insert into test_connect_by values ( 5, 2);
insert into test_connect_by values ( 5, 3);
insert into test_connect_by values (18,11);
insert into test_connect_by values (18, 7);
insert into test_connect_by values (17, 9);
insert into test_connect_by values (17, 8);
insert into test_connect_by values (26,13);
insert into test_connect_by values (26, 1);
insert into test_connect_by values (26,12);
insert into test_connect_by values (15,10);
insert into test_connect_by values (15, 5);
insert into test_connect_by values (38,15);
insert into test_connect_by values (38,17);
insert into test_connect_by values (38, 6);

Ana kayıtlarımızı insert edelim.

insert into test_connect_by values (null, 38);
insert into test_connect_by values (null, 26);
insert into test_connect_by values (null, 18);

Şimdi ağaç yapısında kayıtları listesini alalım.

select lpad('_',2*(level-1)) || to_char(child) s
from test_connect_by
start with parent is null
connect by prior child = parent;

Çıktı şu şelikde olacaktır.
—————————————
38
__15
____10
____5
______2
______3
__17
____9
____8
__6
26
__13
__1
__12
18
__11
__7

————————————
Bu tür bir sql’i Ağaç menülerde, Ürün ağaç yapısını oluştururken, Organizasyon yapılarında kullanabilirsiniz.

 
4

Oracle Pll Sql blob alanı varchar2 ye çevirme

Posted by Gökhan Şahin on Sep 18, 2010 in Database, Oracle, Yazılım

aşağıdaki fonksiyonu oluşturun.

create or replace function F(B BLOB)
return clob is
c clob;
n number;
begin
if (b is null) then
return null;
end if;
if (length(b)=0) then
return empty_clob();
end if;
dbms_lob.createtemporary(c,true);
n:=1;
while (n+32767<=length(b)) loop
dbms_lob.writeappend(c,32767,utl_raw.cast_to_varchar2(dbms_lob.substr(b,32767,n)));
n:=n+32767;
end loop;
dbms_lob.writeappend(c,length(b)-n+1,utl_raw.cast_to_varchar2(dbms_lob.substr(b,length(b)-n+1,n)));
return c;
end;
/

Sql komutu ile deneyebilirsiniz.
select f(blobAlan) from tablonuzunAdi;

 
0

Linux te Oracle Jdeveloper ı çalıştırmak.

Posted by Gökhan Şahin on Sep 18, 2010 in Ide, Jdeveloper

Linux işletim sisteminde Jdeveloper’ı çalıştırmak için öncelikle sisteminizde java jdk kurulu olması gerekiyor. Jdeveloper’ın kullanıdığnız versiyonuna uygun olarak gerekli jdk yı www.sun.com sitesinden indirebilirsiniz.
jdk’yı indirdiğinizde elinizde bin uzantılı bir dosya olacaktır. home kalsörünüze kopyalayın.Daha sonra aşağıdaki komutu çalıştırın.
cd /home/kendiKullanıcıAdınız
./jdkdosyaadı.bin

home dizinine jdk klsörü oluşacaktır.
jDeveloper’ın kurulu olduğu dizine gidin burda jdev/bin altında jdev.conf dosyası bulacaksınız. Bu dosyayı text editörü ile açın
SetJavaHome parametresini değiştirin.
SetJavaHome=/home/kendiKullanıcıAdınız/JdkDizini

şimdi ./jdev olarak çalıştırabilirsiniz.

Kolay gelsin.

 
0

Oracle’da Dba Şifresi Unutulunca Nasıl Değiştirilir.

Posted by Gökhan Şahin on Sep 18, 2010 in Database, Oracle, Yazılım

Oracle Veritabanında diyelimki dba in şifresini unuttunuz. Elinizdeki kullanıcıların hiç birisinde dba yetksi yok. Yapmanız gereken
Veritabanının kurulu olduğu makinenin konsolunda ağşağıdaki komutu çalıştırmak.
sqlplus "/as sysdba"

System dba i olarak giriş yapacaksınız. Bundan sonra

ALTER USER myuser IDENTIFIED BY new_password;

 
0

Oracle Sqlplus da sql dosyası çalıştırma

Posted by Gökhan Şahin on Sep 18, 2010 in Database, Oracle, Yazılım

Sqlplus da sql script dosyasını çalıştırmak için komut yapısı aşağıdadarı.

SQL>@{dosya}

eğer dosyaya yol belirtmek isterseniz.

SQL>@c:\oracle\sql\sqldosyasi.sql

kullanabilirsiniz.

 
0

Java Cer dosyasından keystore oluşturma.

Posted by Gökhan Şahin on Sep 16, 2010 in Java, Security, Yazılım

Elinizdeki Güvenlik Sertifika dosyasından keystore oluşturmak için
InstallCert.java dosyasını bilgisayarınıza indirin.
Daha sonra
javac InstallCert.java
komutu ile derleyin

java InstallCert kps.nvi.gov.tr

jssecacerts dosyası oluşacaktır.

Copyright © 2019 Gökhan Şahin All rights reserved. Theme by Laptop Geek.