Rastgele Yazılar : UNION ALL Kullanımı
Rastgele Yazılar : SQL Optimize Nedir ?
Rastgele Yazılar : Database' in DBID ve DB_NAME Değerini Değiştirmek (dbne...
Rastgele Yazılar : RMAN ile Backup/Restore/Recover
Rastgele Yazılar : SYS_REFCURSOR İçeriğine Erişmek
Rastgele Yazılar : IBM'den çevre dostu veritabanı sistemi
Rastgele Yazılar : HWM (High Water Mark)
Rastgele Yazılar : RAC(Real Application Cluster) ARCHITECTURE(MİMARİSİ) uy...
Rastgele Yazılar : Standby Database' in Incremantal Backup ile Tekrardan S...
Rastgele Yazılar : Microsoft SQL Server 2008 Reporting Services (SSRS)
Merhabalar,
Oracle’da Type kullanımı, nedenleri ve nasıllarına hep birlikte bakalım.
Neden Type kullanılır: Oracle’ın bize tanımladığı nesneleri vardır bunlar varchar, number, integer, date, CHAR(size) vs şeklinde çoğaltılabilir. Şimdi bunları elimizdeki alfabe ve bizim de istediğimiz bir kelimeyi oluşturmaya çalıştığımızı düşünelim. Ör:
Musteri_no: Number,
Adı: varchar2(20),
Soyad : varchar2(20),
birim_no: number
Bunlar herhangi bir şirkette standart kullanılan ve her zaman olmasını istediğimiz değişkenler olsun. O zaman şöyle düşünebiliriz, ben bir müşteri ile ilgili bir data ya ulaştığımda onun Musteri_no,Adı,Soyad,birim_no ‘suna da ulaşmış oluyum. Yani bir tabloya Müşteri ile ilgili yeni bir şey girildiğinde ya da yeni bir tablo yapıldığında ben tüm bu kolonları tek bir değişkene atayayım ve 4 kolon için ayrı tanımlamalar yapmak zorunda kalmayayım. Ana temamız bu şekilde. Şimdi nasıl kullanılırı örnekler üzerinden görelim.
CREATE OR REPLACE TYPE musteri AS OBJECT (
Musteri_no Number,
Adi varchar2(20),
Soyad varchar2(20),
birim_no number);
desc musteri -–Diyerek oluşturduğumuz objemizi inceleyebiliriz. Ordan da görebildiğimiz gibi şu an üstte tanımladığımız 4 kolon bu type’da mevcut. (“desc” syntax i Toad’ın sağlamış olduğu bir özellik, tüm arayüz araçlarında olmayabilir.)
Sonrasında yeni bir tablo create edelim.
CREATE TABLE table_musteri (
adres varchar2(50),
bilgi musteri);
‘table_musteri’ Tablomuzun üzerine geldiğimizde data kısmında iki kolon olduğunu göreceğiz. Şimdi burda data eklemeye çalıştığımızda bilgi kolonunun (, , , ) şekline geldiğini görebiliriz.
INSERT ve UPDATE işlemlerinin nasıl yapıldığına bakalım.
INSERT INTO table_musteri
VALUES ('istanbul', musteri ('198', 'Dougles', 'Whalen', '1'));
UPDATE table_musteri
SET bilgi = musteri ('200', 'Michael', 'Pfay', '2')
WHERE bilgi = musteri ('198', 'Dougles', 'Whalen', '1');
delete from table_musteri
where bilgi = musteri ('200', 'Michael', 'Pfay', '2');
Şimdi biraz daha kapsamlı bir örnek yapalım.Senaryomuz şu olsun: Üstte oluşturduğumuz table_musteri tablomuzdaki musteri kolonumuzdaki değişkenler de dahil olmak üzere farklı tablolardan çekelim. Öncelikle hr user’ında aşağıdaki adımları uygulayalım.
Table_1 için:
create table table_1(
employee_id NUMBER(6),
email VARCHAR2(25 BYTE),
phone_number VARCHAR2(20 BYTE),
first_name varchar2(20 byte),
last_name varchar2(25 byte));
INSERT INTO table_1
SELECT employee_id, email, phone_number,first_name, last_name
FROM hr.employees;
Table_2 için:
create TABLE table_2(
job_id varchar2(10 byte),
department_id number(4));
INSERT INTO table_2
SELECT employee_id,job_id, department_id
FROM hr.job_history;
Şimdi Burda iki tablomuz var. Kendi tablomuza bu tablolardan ve hr şemasındaki employees ve job_history tablosundan data insert edelim.
Tablomuzun görüntüsü aşağıdaki gibi olacaktır.
Bir sonraki makalemizde görüşmek üzere...