Arşiv | Temmuz, 2008

Primary Keyi Olmayan Tablolarda Kayıtlar Üzerinde İşlem Yapmak

22 Temmuz 2008

0 Comments

Veritabanı modellemesinde primary keyler vazgeçilmez unsurlardır. Primary keyler kayıtlara kolay erişimi sağladıkları gibi, aynı zamanda normalizasyona yardım ederler. Buna karşın bazen primary keyi olmayan tablolarla karşılaşabilirsiniz. Bu tablolar genelde yazılımda sabit değerleri tutmak için kullanılırlar. Böyle tablolarda kayıtlar üzerinde nasıl değişiklik yapabiliriz bunu inceleyelim:

Öncelikle bir tablo oluşturup, içine rastgele değerler girelim:

SQL> CREATE TABLE deneme ( isim VARCHAR2(30) );
SQL> INSERT INTO deneme VALUES( ‘GOKHAN’ );
SQL> INSERT INTO deneme VALUES( ‘TOM’ );
SQL> INSERT INTO deneme VALUES( ‘GOKHAN’ );
SQL> INSERT INTO deneme VALUES( ‘MIKE’ );
SQL> COMMIT;

Devamını Okuyunuz...

PL/SQL’e Özel Veri Tipleri: %ROWTYPE ve %TYPE

11 Temmuz 2008

0 Comments

Yazdığınız PL/SQL procedure ve functionlarının, veritabanındaki tablolarda yapılan yapısal değişikliklerden daha az etkilenmesi için Oracle size iki özel veri tipi sunar: %ROWTYPE ve %TYPE. Varsayalım ki veritabanındaki bir tablodan iki alanı çekip bunları ekrana yazdırmanız gerekiyor ve biz bu alanların tiplerine göre bir procedure yazdık:

CREATE TABLE deneme (
id INTEGER,
isim VARCHAR2(40),
telefon VARCHAR2(10),
adres VARCHAR2(200));

CREATE OR REPLACE PROCEDURE telefon_listesi
IS
CURSOR liste IS SELECT isim, telefon FROM deneme;
tl_isim VARCHAR2(40);
tl_telefon VARCHAR2(10);
BEGIN
OPEN liste;
LOOP
FETCH liste INTO tl_isim, tl_telefon;
EXIT WHEN liste%NOTFOUND;
DBMS_OUTPUT.put_line ( ‘Isim ve Telefon: ‘ || tl_isim || ‘ (‘ || tl_telefon || ‘)’ );
END LOOP;
END;

Devamını Okuyunuz...