SlideShare a Scribd company logo
Bölüm 5 : Sorguları Kullanmak Bu dersi tamamladığımız zaman şunları yapabileceksiniz; ,[object Object]
Bir sorgu açmak
Sonuç listesindeki kayıtlara erişmek
Sorgu içinde dolaşmak
Sonuç listesindeki belirli bir kayda gitmek,[object Object]
DEFINE QUERY DEFINE QUERY qCust FOR Customer. Customer tablosu Veritabanı
OPEN QUERY Sonuç Listesini Oluşturur OPEN QUERY qCust FOR EACH Customer. Sonuç listesi ROWID 2048 4020 2604 1010 4150 Customer tablosu Veritabanı
Sonuç Listesine Erişmek OPEN QUERY qCust FOR EACH Customer. GET NEXT qCust. ROWID 2048 4020 2604 1010 4150 Customer tablosu Kayıt arabelleği Veritabanı
GET FIRST OPEN QUERY qCust FOR EACH Customer WHERE SalesRep = “SLS”. GET FIRST qCust. Cust NumNameSales Rep   4     		Go Fishing Ltd                     SLS   6     		Fanatical Athletes               SLS 10     		Just Joggers Limited          SLS 17     		High Tide Sailing                 SLS 26    		Bulls Eye Sports                  SLS 42     		Stall-turn Flying                   SLS  54    		Spokes Cycles                     SLS
GET NEXT REPEAT:   GET NEXT qCust. END. Cust NumNameSales Rep   4     		Go Fishing Ltd                     SLS   6     		Fanatical Athletes               SLS 10     		Just Joggers Limited          SLS 17     		High Tide Sailing                 SLS  26    		Bulls Eye Sports                  SLS 42     		Stall-turn Flying                   SLS 54    		Spokes Cycles                     SLS
4 Go Fishing Ltd SLS ? Kayıt Ara Bellekte mi? GET NEXT qCust.  IF AVAILABLE Customer THEN   DISPLAY Customer. Kayıt arabelleği GET NEXT qItem.  IF NOT AVAILABLE Item   THEN LEAVE.
Uygulama 1 : Son Kayıt Testi
Sonuç Listesinin Sonunda mıyım? IF QUERY-OFF-END(“qCust”)... Sonuç listesi GET NEXT qCust. ROWID 2048 4020 2604 1010 4150 Customer tablosu Kayıt arabelleği Veritabanı
4 Go Fishing Ltd SLS ? QUERY-OFF- END ve AVAILABLE IF QUERY-OFF-END IF AVAILABLE Kayıt arabelleği Sonuç listesi ROWID 2048 4020 2604 1010 4150 FALSE TRUE
Bir Sorguyu Kapatmak CLOSE QUERY qCust. Sonuç listesi ROWID 2048 4020 2604 1010 4150
Uygulama 2 : Basit Bir Sorgu Yazmak
Çoklu Tablolardan Kayıtlara Erişmek Order tablosu Customertablosu Name CustNum CustNum OrderNum SalesRep Lift Tours Urpon Frisbee Hoops Go Fishing Ltd . . . 1 2 3 4 . . . 1 1 1 1 1 1 6 36 79 177 185 1335 HXM HXM HXM HXM HXM Web
Tabloları Bağlamak(JOIN) Customertablosu Order tablosu
OF Seçenekleri ile Kayıtları İlişkilendirmek Order.CustNum = Customer.CustNum Denktir ORDER OF CUSTOMER
Uygualama 3 : İki Tabloyu Bağlamak ve OF Kullanımı
Customer tablosu Name CustNum Çoklu Tablo Kullanımı Item tablosu Order tablosu OrderLinetablosu ItemNum CustNum OrderNum ItemName OrderNum ItemNum
Çoklu Kayıtları Seçmek EACH OrderLine WHERE Item.ItemNum = OrderLine.ItemNum, EACH Order WHERE OrderLine.OrderNum = Order.OrderNum, EACH Customer WHERE Order.CustNum = Customer.CustNum Denktir EACH OrderLine OF Item,  EACH Order OF OrderLine,  EACH Customer OF Order
Uygulama 4: Tabloları Bir Sorguda Bağlamak
QUERY 1 2 3 4 5 6 7
ROWID Veritabanı Veri blokları Blok başlığı CustNum     Name Rowid 3245 OrderNumOrderDate Rowid 3246
ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... İmleci Konumlandırmak 1. OPEN QUERY qItem FOR EACH Item. İmleç REPOSITION qItem TO ROWID 18. 2. İmleç GET NEXT qItem. 3. İmleç
ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... İleri ve Geri Konumlandırma 1. OPEN QUERY qItem FOR EACH Item. İmleç REPOSITION qItem FORWARDS 2. 2. + 2 İmleç REPOSITION qItem BACKWARDS 1. 3. -1 İmleç
Uygulama 5 : Sorgu İmlecini Konumlandırma
Uygulama 6 : Bir Browse Nesnesini Konumlandırma
Sorgu, FIND veya FOR EACH ? GET NEXT… REPOSITION ...  FIND ... FOR EACH...

More Related Content

Viewers also liked

progressokulu.com Advanced Business Language Slide 3
progressokulu.com Advanced Business Language Slide 3progressokulu.com Advanced Business Language Slide 3
progressokulu.com Advanced Business Language Slide 3
kaan verdioglu
 
progressokulu.com Database Administration Slide 6
progressokulu.com Database Administration Slide 6progressokulu.com Database Administration Slide 6
progressokulu.com Database Administration Slide 6
kaan verdioglu
 
progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2kaan verdioglu
 
progressokulu.com Advanced Business Language Slide 11
progressokulu.com Advanced Business Language Slide 11progressokulu.com Advanced Business Language Slide 11
progressokulu.com Advanced Business Language Slide 11kaan verdioglu
 
progressokulu.com Advanced Business Language Slide 7
progressokulu.com Advanced Business Language Slide 7progressokulu.com Advanced Business Language Slide 7
progressokulu.com Advanced Business Language Slide 7
kaan verdioglu
 
progressokulu.com Advanced Business Language Slide 9
progressokulu.com Advanced Business Language Slide 9progressokulu.com Advanced Business Language Slide 9
progressokulu.com Advanced Business Language Slide 9
kaan verdioglu
 

Viewers also liked (6)

progressokulu.com Advanced Business Language Slide 3
progressokulu.com Advanced Business Language Slide 3progressokulu.com Advanced Business Language Slide 3
progressokulu.com Advanced Business Language Slide 3
 
progressokulu.com Database Administration Slide 6
progressokulu.com Database Administration Slide 6progressokulu.com Database Administration Slide 6
progressokulu.com Database Administration Slide 6
 
progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2
 
progressokulu.com Advanced Business Language Slide 11
progressokulu.com Advanced Business Language Slide 11progressokulu.com Advanced Business Language Slide 11
progressokulu.com Advanced Business Language Slide 11
 
progressokulu.com Advanced Business Language Slide 7
progressokulu.com Advanced Business Language Slide 7progressokulu.com Advanced Business Language Slide 7
progressokulu.com Advanced Business Language Slide 7
 
progressokulu.com Advanced Business Language Slide 9
progressokulu.com Advanced Business Language Slide 9progressokulu.com Advanced Business Language Slide 9
progressokulu.com Advanced Business Language Slide 9
 

progressokulu.com Advanced Business Language Slide 5

  • 1.
  • 2.
  • 6.
  • 7. DEFINE QUERY DEFINE QUERY qCust FOR Customer. Customer tablosu Veritabanı
  • 8. OPEN QUERY Sonuç Listesini Oluşturur OPEN QUERY qCust FOR EACH Customer. Sonuç listesi ROWID 2048 4020 2604 1010 4150 Customer tablosu Veritabanı
  • 9. Sonuç Listesine Erişmek OPEN QUERY qCust FOR EACH Customer. GET NEXT qCust. ROWID 2048 4020 2604 1010 4150 Customer tablosu Kayıt arabelleği Veritabanı
  • 10. GET FIRST OPEN QUERY qCust FOR EACH Customer WHERE SalesRep = “SLS”. GET FIRST qCust. Cust NumNameSales Rep 4 Go Fishing Ltd SLS 6 Fanatical Athletes SLS 10 Just Joggers Limited SLS 17 High Tide Sailing SLS 26 Bulls Eye Sports SLS 42 Stall-turn Flying SLS 54 Spokes Cycles SLS
  • 11. GET NEXT REPEAT: GET NEXT qCust. END. Cust NumNameSales Rep 4 Go Fishing Ltd SLS 6 Fanatical Athletes SLS 10 Just Joggers Limited SLS 17 High Tide Sailing SLS 26 Bulls Eye Sports SLS 42 Stall-turn Flying SLS 54 Spokes Cycles SLS
  • 12. 4 Go Fishing Ltd SLS ? Kayıt Ara Bellekte mi? GET NEXT qCust. IF AVAILABLE Customer THEN DISPLAY Customer. Kayıt arabelleği GET NEXT qItem. IF NOT AVAILABLE Item THEN LEAVE.
  • 13. Uygulama 1 : Son Kayıt Testi
  • 14. Sonuç Listesinin Sonunda mıyım? IF QUERY-OFF-END(“qCust”)... Sonuç listesi GET NEXT qCust. ROWID 2048 4020 2604 1010 4150 Customer tablosu Kayıt arabelleği Veritabanı
  • 15. 4 Go Fishing Ltd SLS ? QUERY-OFF- END ve AVAILABLE IF QUERY-OFF-END IF AVAILABLE Kayıt arabelleği Sonuç listesi ROWID 2048 4020 2604 1010 4150 FALSE TRUE
  • 16. Bir Sorguyu Kapatmak CLOSE QUERY qCust. Sonuç listesi ROWID 2048 4020 2604 1010 4150
  • 17. Uygulama 2 : Basit Bir Sorgu Yazmak
  • 18. Çoklu Tablolardan Kayıtlara Erişmek Order tablosu Customertablosu Name CustNum CustNum OrderNum SalesRep Lift Tours Urpon Frisbee Hoops Go Fishing Ltd . . . 1 2 3 4 . . . 1 1 1 1 1 1 6 36 79 177 185 1335 HXM HXM HXM HXM HXM Web
  • 20. OF Seçenekleri ile Kayıtları İlişkilendirmek Order.CustNum = Customer.CustNum Denktir ORDER OF CUSTOMER
  • 21. Uygualama 3 : İki Tabloyu Bağlamak ve OF Kullanımı
  • 22. Customer tablosu Name CustNum Çoklu Tablo Kullanımı Item tablosu Order tablosu OrderLinetablosu ItemNum CustNum OrderNum ItemName OrderNum ItemNum
  • 23. Çoklu Kayıtları Seçmek EACH OrderLine WHERE Item.ItemNum = OrderLine.ItemNum, EACH Order WHERE OrderLine.OrderNum = Order.OrderNum, EACH Customer WHERE Order.CustNum = Customer.CustNum Denktir EACH OrderLine OF Item, EACH Order OF OrderLine, EACH Customer OF Order
  • 24. Uygulama 4: Tabloları Bir Sorguda Bağlamak
  • 25. QUERY 1 2 3 4 5 6 7
  • 26. ROWID Veritabanı Veri blokları Blok başlığı CustNum Name Rowid 3245 OrderNumOrderDate Rowid 3246
  • 27. ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... İmleci Konumlandırmak 1. OPEN QUERY qItem FOR EACH Item. İmleç REPOSITION qItem TO ROWID 18. 2. İmleç GET NEXT qItem. 3. İmleç
  • 28. ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... ROWID 202 ROWID 32 ROWID 112 ROWID 18 ... İleri ve Geri Konumlandırma 1. OPEN QUERY qItem FOR EACH Item. İmleç REPOSITION qItem FORWARDS 2. 2. + 2 İmleç REPOSITION qItem BACKWARDS 1. 3. -1 İmleç
  • 29. Uygulama 5 : Sorgu İmlecini Konumlandırma
  • 30. Uygulama 6 : Bir Browse Nesnesini Konumlandırma
  • 31. Sorgu, FIND veya FOR EACH ? GET NEXT… REPOSITION ... FIND ... FOR EACH...
  • 32. Uygulama 7 : Sorgu Kaydırma