Ana içeriğe geç
Kesit SQL
İleri · Sertifika Hazırlık

1Z0-071: Oracle veri tipleri, tablo oluşturma ve değiştirme

VARCHAR2, NUMBER(p,s), DATE/TIMESTAMP/INTERVAL, LOB; CTAS, ALTER TABLE, DROP ... PURGE, geçici tablolar.

Uygulamada aç, 8 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Veri tipleri

TipNot
VARCHAR2(n [BYTE|CHAR])Değişken uzunluklu metin; Oracle'da önerilen metin tipi
CHAR(n)Sabit uzunluk, boşlukla doldurulur
NUMBER(p, s)p toplam basamak, s ondalık basamak. NUMBER(5,2) en fazla 999.99. s negatifse sola yuvarlar.
DATETarih ve saat (saniyeye kadar)
TIMESTAMP [WITH [LOCAL] TIME ZONE]Kesirli saniye, saat dilimi
INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECONDSüre
CLOB, BLOB, NCLOBBüyük metin / ikili veri (eski LONG yerine)
RAW, ROWIDİkili, satır adresi

Oluşturma

CREATE TABLE kampanya (
  kampanya_id NUMBER(6)      CONSTRAINT pk_kampanya PRIMARY KEY,
  kod         VARCHAR2(20)   NOT NULL CONSTRAINT uq_kampanya_kod UNIQUE,
  indirim     NUMBER(3,2)    CONSTRAINT ck_indirim CHECK (indirim BETWEEN 0 AND 0.5),
  baslangic   DATE DEFAULT SYSDATE,
  urun_id     NUMBER(6),
  CONSTRAINT fk_kampanya_urun FOREIGN KEY (urun_id) REFERENCES products (product_id) ON DELETE SET NULL
);

-- Sorgudan tablo (CTAS): NOT NULL dışındaki kısıtlar kopyalanmaz
CREATE TABLE kitaplar AS SELECT product_id, name, price FROM products WHERE category = 'Kitap';

-- Yalnızca yapı (satırsız)
CREATE TABLE bos_kopya AS SELECT * FROM products WHERE 1 = 0;

Değiştirme

ALTER TABLE kampanya ADD (aciklama VARCHAR2(200));
ALTER TABLE kampanya MODIFY (aciklama VARCHAR2(500));
ALTER TABLE kampanya RENAME COLUMN aciklama TO notlar;
ALTER TABLE kampanya DROP COLUMN notlar;
ALTER TABLE kampanya SET UNUSED (kod);         -- anında gizle, sonra DROP UNUSED COLUMNS
ALTER TABLE kampanya READ ONLY;                -- DML engellenir
ALTER TABLE kampanya READ WRITE;
RENAME kampanya TO kampanyalar;

DROP TABLE kampanyalar;                        -- geri dönüşüm kutusuna gider
FLASHBACK TABLE kampanyalar TO BEFORE DROP;     -- geri getir
DROP TABLE kampanyalar PURGE;                  -- kalıcı sil
Alıştırmalara geç (8)