Upload
kaan-verdioglu
View
211
Download
6
Embed Size (px)
Citation preview
Bölüm 6 : Kayıt Yaratma, Değiştirme ve Silme
Bu dersi tamamladığımız zaman şunları yapabileceksiniz;
• Tablo yönetimini tanımlamak• Bir kayıt yaratmak• Bir sequence yaratmak• Veritabanı tetikleyicilerini kullanmak• Bir kaydı değiştirmek• Bir kaydı silmek
Veri Akışı
FOR EACH.. FIND... GET...
DELETE
CREATE
Kullanıcı
VeritabanıKayıt
arabelleği
Ekran
arabelleği
Bir Kayıt Yaratmak
CREATE Customer.
Yeni Customer kaydı
Kayıt
arabelleğiVeritabanı
Customer
Kayda Atama Yapmak
UygulamaEkran
arabelleği
ASSIGN
Kayıt kapsamının
sonunda kaydı
veritabanına yaz
Kayıt arabelleği
Yeni Bir Kayıt Yaratmak
CREATE Invoice.
ASSIGN
CustNum = 4095
Amt = 149.99
OrderNum = 43
Invoice tablosu
InvNum CustNum Amt
1008 419 671.50
1009 50 15,000.00
1010 776 500.00
InvNum CustNum Amt OrderNum
1011 4095 149.99 43
Uygulama 1 : Yeni Bir Kayıt Yaratmak
Bir Sekans Raporu
Uygulama 2 : Bir Sekans Yaratmak
NEXT-VALUE Fonksiyonunu Kullanmak
Invoice tablosu
InvoiceNum
1049
1050
1051
ASSIGN Invoice.InvoiceNum =
NEXT-VALUE(NextInvoiceNum).
Sonraki InvoiceNum = 1052
Veritabanı Tetikleyicisi Raporu
Invoice tablosunun CREATE tetikleyicisi
Veritabanı Tetikleyicisinde Yeni Değer Ataması Yapmak
CREATE Invoice.
Invoice
ASSIGN Invoice.InvoiceNum =
NEXT-VALUE(NextInvoiceNum).
Kayıt arabelleği
Invoice
InvoiceNum = 1052Invoice table
InvoiceNum = 1051
InvoiceNum = 1050
Uygulama 3 : Sekans ve Veritabanı Tetikleyicisini Değiştirmek
Bir Kaydı Değiştirmek
Kayıt arabelleği
Ekran
arabelleği
Uygulama
Uygulama 4 : Kayıtları Değiştirmek
Bir Kaydı Silmek
5 Match Point Tennis
DELETE Customer.
5 Match Point Tennis
Uygulama 5 : Bir Kaydı Silmek
Üst ve Alt Kayıtlar
Customer 56
Order 1 Order 2 Order 3
Üst kayıt
Alt kayıtlar
Uygulama 6 : Üst ve Alt Kayıtlar Yaratmak
Uygulama 7 : Üst ve Alt Kayıtları Silmek
Örnek Bir DELETE Tetikleyicisi
/* delcust.p */
TRIGGER PROCEDURE FOR Delete OF Customer.
...
FIND FIRST invoice OF customer NO-ERROR.
IF AVAILABLE invoice THEN DO:
IF invoice.amount <= invoice.totalpaid +
invoice.adjustment THEN
DO:
...
FIND FIRST order OF customer NO-ERROR.
IF NOT AVAILABLE order THEN DO:
RETURN.
...
Uygulama 8 : Kayıtları Silmek