progressokulu.com Advanced Business Language Slide 6

Preview:

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

Recommended