Üye Ol veya Giriş Yap |

Ana Menü

 
 Ana Sayfa
 Resimler
 Çeşitli Yazılar
 Canlı Tv Seyret
 İstatistik
 Top 10
 Siir
 Hikayeler
 Videolar
 Uyeler
 Forum
 Özel Mesajlar
 Üye Listesi
 Tavsiye
 Iletisim
 Ziyaretçi Defteri
 Kullanıcı Günlüğü
 Hesabınız
 Genel
 Haber Gönder
 Haber Başlıkları
 Haber Arşivi
 Anket
 Ara
 Oyun ve Program
 Web Siteleri
 Mizah - Eglence
 Fikralar
 Flash Animasyonlar
 Duvar Yazıları
 Oyun ve Program
 CizgiFilm
 FlashOyunlar
 Videolar

· News
· Oyunlar

Üye Giriş

 
Hoş geldin, Anonymous
Nickname
Şifre
(Kayıt Ol)
Üyelik:
Son Üye: ayarlienerji
Bugün: 0
Dün: 0
Toplam: 99

Şu An Bağlı:
Ziyaretçi: 10
Üye: 0
Toplam: 10

Şairler

  · Vedat Selamoğlu
(231 şiiri kayıtlı)
· Gül Karaca
(114 şiiri kayıtlı)
· Ceren erdemir
(19 şiiri kayıtlı)
· Adsız Kahraman
(14 şiiri kayıtlı)
· Yılmaz ERDOĞAN
(11 şiiri kayıtlı)
· Uğur Aslan
(11 şiiri kayıtlı)
· Cemal Safi
(9 şiiri kayıtlı)
· Yusuf Hayaloğlu
(9 şiiri kayıtlı)
· Attila İlhan
(8 şiiri kayıtlı)
· Ümit Yaşar Oğuzcan
(8 şiiri kayıtlı)

Toplam 65 şair

Oracle Eğitimi 3





Database Üzerinde Transaction Kontrol Komutları: Transaction, datanın tutarlı şekilde korunmasını sağlayan yöntemdir. Database üzerinde kayıt yapma , silme, düzeltme vb. İşlemlerin yapılabilmesi için aşağıdaki komutlara ihtiyaç vardır; INSERT INTO : Tabloya yeni bir kayıt eklenmesini sağlar. Yazılımı; INSERT INTO table [(kolon1, kolon2, …)] VALUES (değer1, değer2, …) Kolon : Tablonun kayıt yapılacağı kolon adlarını belirler. Bir tablodaki kolon Sayısı 1-254 arasında ve o tabloda var olmalıdır. Deger : O kolon için alacağı değer verilir. Kolon tipiyle ayni olmalıdır. Eğer kolon adları belirtilmezse değerler kolon sırasına göre değer almalıdır. Degerlere sysdate, user vb. Hazır fonksiyonlar aktarılabilir. Eğer bir alana değer verilmesi istenmiyorsa, yani bos değer verilmesi isteniyorsa NULL değeri verilir. Örnek: Personel tablosuna yeni bir personel girişi yapalım; INSERT INTO personel (ad,soyad,maas,ayrilma_tarihi,kayıt_giriş_tarihi) VALUES (‘Mehmet’,’Batal’,400000000,NULL,SYSDATE) Ayni örnek için kolon sırasını bildiğimiz düşünülürse şu şekilde de yazılabilir; INSERT INTO personel VALUES (‘Mehmet’,’Batal’,400000000,NULL,SYSDATE) Sadece tek kayıt girişi yapılıyorsa, rahat veri girişi yapılması için değerlere değişken tanımlayarak veri girişi sağlayabiliriz. Böylece table her çalıştığında yeni veri girişi yapılır. Örnek: Personel tablosuna her çalıştırdığımızda yeni bir personel girişi yapalım; INSERT INTO personel (ad,soyad,maas,ayrilma_tarihi,kayıt_giriş_tarihi) VALUES (‘&Adi’,’&Soyadı’,&maas,NULL,SYSDATE) Örnek: Daha güvenli ve rahat giriş yapılacak şekilde kayıt yapılacak script yazalım; SET ECHO OFF ACCEPT ad PROMPT ‘Adini giriniz:’ ACCEPT soyad PROMPT ‘Soyadı giriniz:’ ACCEPT maas PROMPT ‘Maasini giriniz:’ INSERT INTO personel(ad,soyad,maas,ayrilma_tarihi,kayıt_giriş_tarihi) VALUES (‘&ad’,’&soyad’,&maas,NULL,SYSDATE) / SET ECHO OFF Kayıt yapılacak kolonların değerleri bilinmiyorsa veya başka bir tablodan değer alınması gerekiyorsa aşağıdaki yapı kullanılır; Yazılımı; INSERT INTO table [(kolon1, kolon2, …)] Altsorgu Örnek: Personel tablosuna departman tablosundan departman kodu 38 olan personellerin değerlerini aktaralım; INSERT INTO personel(ad,soyad,maas,ayrilma_tarihi,kayıt_giriş_tarihi) SELECT adı,soyadı,maasi,ayrilma,kayıt_giriş FROM departman WHERE dept_id=38 UPDATE : Tablodaki kolonların değerlerini değiştirmek için kullanılır. Yazılımı; UPDATE table SET kolon1=değer1, kolon2=değer2, … [WHERE kotul] Kolon : Tabloda değişiklik yapılacak kolon adıdır. Bir tablodaki kolon Sayısı 1-254 arasında ve o tabloda var olmalıdır. Deger : O kolon için alacağı değer verilir. Kolon tipiyle ayni olmalıdır. Eğer kolon adları belirtilmezse değerler kolon sırasına göre değer almalıdır. Degerlere sysdate, user vb. hazır fonksiyonlar aktarılabilir. Eğer bir alana değer verilmesi istenmiyorsa, yani bos değer verilmesi isteniyorsa NULL değeri verilir. Örnek: 41 nolu departmanın maasini %13 artıralım; UPDATE Personel SET maas=maas+maas*13/100 WHERE dept_id=41 Örnek: 649 nolu personelin departman kodu 10 olsun; UPDATE Personel SET dept_id=10 WHERE personel_id=649 Eğer WHERE koşulu konulmazsa tüm tablo için kolon değerini değiştirir. koşulu SET ile değiştirdiğimiz kolona veremeyiz. DELETE : Tabloda belirtilen kayıtı siler. Yazılımı; DELETE FROM table [WHERE kotul] Örnek : Personelin maasları 100.000.000 ‘dan küçük olan kayıtları silelim; DELETE FROM Personel WHERE maas<100000000 Bir tablodaki tüm kayıtları silmek istersek koşul konmaz. Tablo silinmez, sadece kayıtları silinir. Örneğin DELETE FROM Personel Foreign key veya primary key silinecek kayıtta varsa silinme hatası verir. Çünkü başka tablo ile ilişki kurulduğundan(join), diğer tablonun kullandığı kayıt vardır. O yüzden bu kaydı silebilmek için, ilişkide bulunduğu tüm kayıtları önce silmek gerekir. Ayni zamanda tablo üzerinde çalışan kullanıcı varsa kayıtlar silinemez. ROLLBACK komutu ile silinen kayıtları kurtarabiliriz(Tabi ki en son COMMIT komutu kullanılana kadar). COMMIT : Bütün yapılan İşlemleri kesin olarak kalıcı olmasını sağlar. Böylece yapılan değişiklikleri varsa diğer kullanıcılarda görür. SAVEPOINT x : İşlemi belirli bir yere yönlendirmek için kullanılır. X ile belirtilen alan için işaret konularak istenildiğinde bu işarete kadar işlemler yapılabilir. ROLLBACK x : Bütün yapılan İşlemleri kesin olarak iptal eder. SAVEPOINT komutu ile belirlenen x kodlu alana kadar olan tüm itleri iptal eder. Yazılımı; ROLLBACK [TO SAVEPOINT x] Örnek: UPDATE personel ….. SAVEPOINT dön DELETE FROM Personel INSERT INTO ….. ROLLBACK dön teklindeki bir işlemle personel kaydının silinmesi ve yeni kayıt eklenmesi işlemi iptal edildi. Ama ilk yapılan değişiklik kaldı. Read uncommitted : Commit olmadan görünmez. O halde böyle level yoktur. Read committed : Oracle ’ın varsayılan değeridir. Committen sonra işlem görür. Serializable : Yapılan insert İşlemleri gözükmez. Eski datalar gözükür. Read only : Transaction işleminde sadece okuma var demektir. ALTER TABLE : Yeni bir kolon eklemek, kolonun tipini veya uzunluğunu değiştirmek vb. yapısal değişiklikler yapılması için kullanılır. Eğer kolon üzerinde değişiklikler yapılacaksa dikkat edilmesi gereken koşullar vardır. Örneğin kayıt uzunluğu 15 iken uzunluğunu 10’a indirirsek kayıt içindeki bilgiler kesilir. Kolonlar ekleyebilir ve yapısal değişiklikler yapabiliriz. Constraint yapısını ekler, silebilir, enable ve disable yapabiliriz. Yazılımı; ALTER TABLE table [ADD (kolon datatipi [DEFAULT değer] [NOT NULL]) , …] [ADD [CONSTRAINT açıklama] tipi (kolon)] [MODIFY (kolon datatipi [DEFAULT değer] [NOT NULL]) , …] [DROP [CONSTRAINT açıklama] tipi (kolon)] [ENABLE | DISABLE CONSTRAINT açıklama] ADD : Yeni bir kolon ekler. MODIFY : Kolonun içeriğini, uzunluğunu ve tipini değiştirir. Bunun için kayıtların değeri null olmalıdır. DROP : Kolonu siler. Kolon : Tabloda işlem yapılacak kolon adıdır. Datatipi : Kolonun alacağı tipi belirler. DEFAULT değer: Kolonun ilk alacağı değerdir. Kolon hiç değer atanmaz ise burada değer ile ifade edilen sabit veri aktarılır. ENABLE : Unique veya primary key indexlerin otomatik yaratılmasını sağlar. Bütün kayıtların tanımlanan unique veya primary key tanımına uyması gerekir. DISABLE : Unique veya primary key tanımını kaldırır. Örnek : Personel tablosuna ek maas isminde 15 uzunluğunda bir kolon yaratalım. İlk değer 0 olsun. ALTER TABLE Personel ADD (ekmaas number(15) DEFAULT 15) Örnek : Personel tablosundaki pers_id ile departman tablosundaki dept_id arasında FOREIGN KEY kuralım. ALTER TABLE Personel ADD CONSTRAINT personel_dept_id_fk FOREIGN KEY (dept_id) REFERENCES personel(pers_id) Örnek : Personel tablosundaki maas kolonundaki alan uzunluğunu 15’e çıkaralım. ALTER TABLE Personel MODIFY (maas number(15)) Örnek : Personel tablosundaki maas kolonu silinsin. ALTER TABLE Personel DROP (maas number(15)) Örnek: Personel tablosundaki personel_id primary key için index yaratılması otomatikleştirelim; ALTER TABLE Personel ENABLE CONSTRAINT Personel_id_pk DROP TABLE : Tabloyu fiziksel olarak siler. Rollback komutu ile silinen tablo geri getirilemez. Tabloyu ancak yetkisi olan kullanıcı silebilir. Yazılımı; DROP TABLE table [CASCADE CONSTRAINTS] Örnek: Personel tablosunu silelim; DROP TABLE Personel RENAME ..TO.. : Objelerin ismini değiştirmek için kullanılır. Otomatik olarak commit olur. Tabloyu ancak yetkisi olan kullanıcı silebilir. Yazılımı; RENAME eski_isim TO yeni_isim Örnek: Personel tablosunun adını pers olarak değiştirelim; RENAME personel TO pers TRUNCATE TABLE : Tablodaki tüm kayıtları siler. Delete komutu gibi olmasına karşın o komuttan çok daha hızlı silme işlemi yapar. Rollback komutu ile silinen kayıtlar geri getirilemez. Otomatik olarak commit olur. Tabloyu ancak yetkisi olan kullanıcı silebilir. Yazılımı; TRUNCATE TABLE table Delete komutu ile Truncate arasındaki en önemli fark; Delete komutu kayıtları silmek için kayıtlarda boşluk bırakır. Truncate ise tamamen kayıtları temizler, yani basa sarar. Örnek: Personel tablosundaki tüm kayıtları silelim; TRUNCATE TABLE Personel COMMENT ON TABLE : Tablo veya kolonların içeriği hakkında açıklayıcı bilgi verilir. 2000 byte açıklama alanı girilebilir. Yazılımı; COMMENT ON TABLE table | COLUMN table.kolon IS ‘açıklama’ Örnek : Personel tablosu açıklaması ‘Basak Sigorta’da çalışan kişiler’ olarak not düselim; COMMENT ON TABLE personel IS ‘Mars Sigorta’da çalışan kişiler’ Örnek : Personel tablosundaki pers_id kolonun açıklaması ‘Personel numarası’ olarak not düselim; COMMENT ON COLUMN personel.pers_id IS ‘Personel numarası’ ALL_COL_COMMENTS : Yetkili olan kullanıcının kolonlarının açıklayıcı notları listelenir. USER_COL_COMMENTS : Tüm kullanıcıların kolonlarının açıklayıcı notları listelenir. ALL_TAB_COMMENTS : Tüm kullanıcıların tablolarının açıklayıcı notları listelenir. USER_TAB_COMMENTS : Yetkili olan kullanıcının tabloları için açıklayıcı notları listelenir. Otomatik Numara Üretimi(Sequence): Yaptığı is unique Sayılar üretmektir. Belli oranlarda arttırmalar yapılmakta kullanılır. Her çağrıldığında yeni bir Sayı üretir. Ekstra bir hesaplama yapılmadan, seri olarak tanımlandığı şekilde rakamlar üretir. Sayıları cacheden okuduğu için çok hızlı sonuç üretir. Yazılımı; CREATE SEQUENCE kolon [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE n | NOCACHE] INCREMENT BY n : Sayının artış miktarı belirtilir. Varsayılan değer 1’dir. Birer birer Sayı arttırılır. START WITH n : Numaranın üretileceği başlangıç numarasıdır. Varsayılan değer 1’dir. MAXVALUE n : Numaranın alabileceği maksimum rakam yazılır. NOMAXVALUE ile bitiş numarası verilmez. Max = 1027 MINVALUE n : Numaranın alabileceği minimum rakam yazılır. NOMINVALUE ile başlangıç numarası verilmez. Min = 1 CYCLE | NOCYCLE : Maxvalue değeri kadar işlem yapıldıktan sonra işlemi tekrardan başlatır.Varsayılan değer NOCYCLE’dir. CACHE : Cache Sayısı kadar Sayıyı hafızaya gönderir. Varsayılan değer NOCACHE=20’dir. Örnek: Personel departmanının pers_id kolonunu 10’dan 50’ye kadar 2’ser 2’ser arttıralım; CREATE SEQUENCE pers_id INCREMENT BY 2 START WITH 10 MAXVALUE 50 NOCYCLE NOCACHE Örnek: Personel departmanının pers_id kolonunu birer birer arttıralım; CREATE SEQUENCE pers_id INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE NOCACHE USER_SEQUENCES : Sequences’in en son durumu gösterir. Yazılımı; SELECT sequence_name, min_value, max_value, increment by, last_number FROM user_ sequences Sequence_name : İşlemlerin tanımlandığı isimdir. Min_value : Sayının aldığı min değerdir. Max_value : Sayının aldığı max değerdir. Increment_by : Sayının aldığı artış miktarının gösterir. Cycle_flag : İşlemin tekrar yapılması isteniyorsa Y, istenmiyorsa N değerini alır. Cache_size : Hafızadaki cache Sayısıdır. Last_number : Numaranın alacağı değerdir NEXTVAL : En son aldığı Sayının bir sonra alacağı değeri gösterir. Örnek: Personel tablosuna pers_id kolonuna otomatik değerler atayarak kayıt edelim; INSERT INTO personel VALUES (pers_id.NEXTVAL,’Mehmet’,’Batal’) CURRVAL : O anki Sayısal değeri gösterir. Eğer hiç nextval fonksiyonu kullanılmamışsa değeri bos değer gelir. Örnek: pers_id kolonunun o anki alacağı değeri seçelim; SELECT pers_id.CURRVAL FROM DUAL









Copyright © Vedobay.Com - En Duygusal Ask Siirleri Burada Tüm hakları saklıdır.

Yayınlanma: 2007-07-22 (68 okunma)

[ Geri Dön ]

IP Adresiniz: 38.103.63.61

Alan Adı eXTReMe Tracker

Vedobay - Oyun - 3D Oyun - Oyunlar - IP - Kim 1 Milyon ister - Canlı Tv - Radyo Moda - Lig Radyo
Vedobay.Com'un içerik kod yazılımı PHP-Nuke sitesine aittir.
Web Tasarım & Theme & Hosting by Erenet.info
Copyright © by Vedobay.Com Webmaster: Vedobay
E-Mail:


Sitemiz en iyi Firefox tarayıcı ile 1024x768 çözünürlükte görüntülenir

Sayfa Üretimi: 0.31 Saniye
Theme Copyright by Erenet.info