select count(*) "Toplam session", (select count(*) from gv$session where type != 'BACKGROUND' ) "Toplam Session (Oracle Hariç)", (select count(*) from gv$session where status = 'ACTIVE' and inst_id=1 and type != 'BACKGROUND' ) "Aktif Session" from gv$session group by 1,2,3
Oracle – Session Sayısı
Haziran 14th, 2011
Orhan AKDOĞAN Oracle – Session Monitor SQL
Mart 6th, 2011
Orhan AKDOĞAN SELECT s.SCHEMANAME, s.USERNAME, UPPER(s.PROGRAM) PROGRAM, s.MACHINE, s.OSUSER, s.MODULE FROM V$SESSION S, V$PROCESS p, (SELECT DISTINCT SID, SERIAL#, AUTHENTICATION_TYPE, CLIENT_CHARSET, CLIENT_VERSION FROM V$SESSION_CONNECT_INFO) SCI WHERE ( (s.USERNAME is not null) and (NVL(s.osuser,'x') <> 'SYSTEM') and (s.type <> 'BACKGROUND') ) and p.addr(+) = s.paddr and sci.sid = s.sid and sci.serial# = s.serial# order by "PROGRAM", OWNERID
Oracle – Tekrar eden kayıtları silmek
Mart 6th, 2011
Orhan AKDOĞAN Silinecek Tekrarları Listelemek için;
SELECT * FROM tabloadi x WHERE x.rowid > ( SELECT MIN(y.rowid) FROM tabloadi y WHERE x.tekrarfield= y.tekrarfield)
Tekrarları Silmek için;
DELETE FROM tabloadi x WHERE x.rowid > ( SELECT MIN(y.rowid) FROM tabloadi y WHERE x.tekrarfield = y.tekrarfield );
Oracle – Tablo Veri Boyutları (MB)
Mart 6th, 2011
Orhan AKDOĞAN
SELECT
owner AS "OWNER",
segment_name AS "OBJECT",
partition_name AS "PARTITION",
tablespace_name AS "TABLESPACE",
segment_type AS "TYPE",
ROUND (bytes / 1024 / 1024, 2) AS "Boyut(MB)"
FROM dba_segments
WHERE segment_type IN ('TABLE', 'TABLE PARTITION')
AND owner = 'ABALI2011'
Order by ROUND (bytes / 1024 / 1024, 2) desc
Oracle – NVL, NVL2, NULLIF, COALESCE
Kasım 28th, 2010
Orhan AKDOĞAN NVL (expr1, expr2)
NULL bir değeri gerçek bir değere dönüştürmek için kullanırız. Çevrim değil yerine geçme söz konusudur.
SELECT AD,SOYAD,NVL(BAKIYE,0) FROM VWOGRENCI
Hiç hareket görmemiş yani alacak ve borç kaydı yapılmamış bir öğrencinin bakiyesi null dönecektir, bu sorgu ile null değerlerin 0 olarak dönmesini sağlıyoruz.
Yeni başlayanlar tarafından en çok yapılan yanlışlardan biride, NULL ile boş ya da sıfır değeri eşdeğer görmektir.
NULL; alana herhangi bir değer atanmadığını ifade eder.Boş (“”) veya Sıfır (0) atamaları ise karakter ve nümerik değerlerdir.
SELECT STOK_KODU "Stok Kodu" ,MAX_ISKONTO "Maximum İskonto" FROM TBLSTSABIT WHERE MAX_ISKONTO = NULL
Bu kullanım hatalıdır çünkü NULL bir değer yoktur bu yüzden atama kontrolü de olamaz.
Eğer Maximum İskonto değeri belirlenmemiş kayıtları listelemek amaç ise, doğrusu şu şekilde olmalıdır:
SELECT STOK_KODU "Stok Kodu" ,MAX_ISKONTO "Maximum İskonto" FROM TBLSTSABIT WHERE MAX_ISKONTO IS NULL
NVL2 (expr1, expr2, expr3)
Fonksiyonda expr1 NULL değilse expr2, expr1 NULL ise expr3 ‘ü değer olarak döndürür.
SELECT NVL2(ikinciad , ad+' '+ikinciad+' '+soyad , ad+' '+soyad) "AD SOYAD" FROM VWOGRENCI
NULLIF (expr1, expr2)
Bu fonksiyon ile iki değer karşılaştırılır, eğer expr1 ile expr2 eşitse NULL, eşit değiller ise expr1 sonuç olarak dönülür.
expr1 ve expr2 sayısal değerler ya da aynı veritipinin değerleri olmalıdır.
NULLIF deyimi Oracle 9i, Oracle 10g, Oracle 11g versiyonlarında desteklenmektedir.
NULLIF(12, 12) -- "NULL"
NULLIF(12, 13) -- "12"
NULLIF('orhan', 'orhan') --"NULL"
NULLIF('orhan', 'ibrahim') --"orhan"
NULLIF(NULL, 12) -- "ORA-00932 error because expr1 can not be the literal NULL" hatası.
COALESCE (expr1, expr2, . . , exprn)
Coalesce fonksiyonu aldığı argümanlardan null olmayan ilk ifadeyi görüntüler.
SELECT coalesce (ceptel, istel, evtel,'Girilmemiş') "Telefon" FROM Ogrenci;
Bu Sorgu girilmiş olan ilk telefon bilgisini sonuç olarak döndürür;
bu işlemi alternatif bir yolla yapmak isteseydik;
IF ceptel is not null THEN
result := ceptel;
ELSIF istel is not null THEN
result := istel;
ELSIF evtel is not null THEN
result := evtel;
ELSIF 'Girilmemiş' is not null THEN
result := 'Girilmemiş';
ELSE
result := null;
END IF;
şeklinde kullanmamız gerekirdi.
Coalesce deyimi Oracle 9i, Oracle 10g, Oracle 11g versiyonlarında desteklenmektedir.
Microsoft SQL Server’da;
NVL karşılığı ISNULL,
NULLIF ve COALESCE (‘koliş’) ise aynen kulanılır.
NVL2‘nin ise karşılığı yok.

Posted in
Tags: 
Son Yorumlar