24

progressokulu.com Advanced Business Language Slide 6

Embed Size (px)

Citation preview

Page 1: progressokulu.com Advanced Business Language Slide 6
Page 2: progressokulu.com Advanced Business Language Slide 6

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

Page 3: progressokulu.com Advanced Business Language Slide 6

Veri Akışı

FOR EACH.. FIND... GET...

DELETE

CREATE

Kullanıcı

VeritabanıKayıt

arabelleği

Ekran

arabelleği

Page 4: progressokulu.com Advanced Business Language Slide 6

Bir Kayıt Yaratmak

CREATE Customer.

Yeni Customer kaydı

Kayıt

arabelleğiVeritabanı

Customer

Page 5: progressokulu.com Advanced Business Language Slide 6

Kayda Atama Yapmak

UygulamaEkran

arabelleği

ASSIGN

Kayıt kapsamının

sonunda kaydı

veritabanına yaz

Kayıt arabelleği

Page 6: progressokulu.com Advanced Business Language Slide 6

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

Page 7: progressokulu.com Advanced Business Language Slide 6

Uygulama 1 : Yeni Bir Kayıt Yaratmak

Page 8: progressokulu.com Advanced Business Language Slide 6

Bir Sekans Raporu

Page 9: progressokulu.com Advanced Business Language Slide 6

Uygulama 2 : Bir Sekans Yaratmak

Page 10: progressokulu.com Advanced Business Language Slide 6

NEXT-VALUE Fonksiyonunu Kullanmak

Invoice tablosu

InvoiceNum

1049

1050

1051

ASSIGN Invoice.InvoiceNum =

NEXT-VALUE(NextInvoiceNum).

Sonraki InvoiceNum = 1052

Page 11: progressokulu.com Advanced Business Language Slide 6

Veritabanı Tetikleyicisi Raporu

Invoice tablosunun CREATE tetikleyicisi

Page 12: progressokulu.com Advanced Business Language Slide 6

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

Page 13: progressokulu.com Advanced Business Language Slide 6

Uygulama 3 : Sekans ve Veritabanı Tetikleyicisini Değiştirmek

Page 14: progressokulu.com Advanced Business Language Slide 6

Bir Kaydı Değiştirmek

Kayıt arabelleği

Ekran

arabelleği

Uygulama

Page 15: progressokulu.com Advanced Business Language Slide 6

Uygulama 4 : Kayıtları Değiştirmek

Page 16: progressokulu.com Advanced Business Language Slide 6

Bir Kaydı Silmek

5 Match Point Tennis

DELETE Customer.

5 Match Point Tennis

Page 17: progressokulu.com Advanced Business Language Slide 6

Uygulama 5 : Bir Kaydı Silmek

Page 18: progressokulu.com Advanced Business Language Slide 6

Üst ve Alt Kayıtlar

Customer 56

Order 1 Order 2 Order 3

Üst kayıt

Alt kayıtlar

Page 19: progressokulu.com Advanced Business Language Slide 6

Uygulama 6 : Üst ve Alt Kayıtlar Yaratmak

Page 20: progressokulu.com Advanced Business Language Slide 6

Uygulama 7 : Üst ve Alt Kayıtları Silmek

Page 21: progressokulu.com Advanced Business Language Slide 6

Ö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.

...

Page 22: progressokulu.com Advanced Business Language Slide 6

Uygulama 8 : Kayıtları Silmek

Page 23: progressokulu.com Advanced Business Language Slide 6
Page 24: progressokulu.com Advanced Business Language Slide 6