45
Rexx/SQL Kütüphanesi Sayın SQL Dili Geliştiricilerine Haluk POLAT ISBN ve EAN Belirtimi 978 – 975 – 00742 – 3 – 3

Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

  • Upload
    others

  • View
    32

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Sayın SQL Dili Geliştiricilerine

Haluk POLAT

ISBN ve EAN Belirtimi

978 – 975 – 00742 – 3 – 3

Page 2: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

İÇİNDEKİLER

Teşekkür --------------------------------------------------- 2Önsöz ------------------------------------------------------ 3Bilinmesi Gerekenler --------------------------------------- 4Kim Okumalı ------------------------------------------------ 5Sözdizimi -------------------------------------------------- 5Rexx/SQL Hakkında ------------------------------------------ 6Yanılgılar ------------------------------------------------- 6Sorgulayış/Kuruluş/Kaldırış -------------------------------- 7İşlevler --------------------------------------------------- 8SQLCONNECT() ----------------------------------------------- 9SQLDISCONNECT() ------------------------------------------- 10SQLDEFAULT() ---------------------------------------------- 11SQLCOMMAND() ---------------------------------------------- 12SQLPREPARE() ---------------------------------------------- 13SQLDISPOSE() ---------------------------------------------- 14SQLOPEN() ------------------------------------------------- 15SQLCLOSE() ------------------------------------------------ 16SQLFETCH() ------------------------------------------------ 17SQLGETDATA() ---------------------------------------------- 18SQLEXECUTE() ---------------------------------------------- 20SQLDESCRIBE() --------------------------------------------- 21SQLVARIABLE() --------------------------------------------- 23SQLGETINFO() ---------------------------------------------- 26SQLDATASOURCES() ------------------------------------------ 28SQLTABLES() ----------------------------------------------- 30SQLCOLUMNS() ---------------------------------------------- 32SQLCOMMIT() ----------------------------------------------- 34SQLROLLBACK() --------------------------------------------- 35SQLLOADFUNCS() -------------------------------------------- 36SQLDROPFUNCS() -------------------------------------------- 37LITEGETINSERTID() ----------------------------------------- 38MYGETINSERTID() ------------------------------------------- 39Yer Tutucular ve Sarıtlar --------------------------------- 40Veritabanı Gerçekleştirimleri ----------------------------- 41Sözlükçe -------------------------------------------------- 41Kaynakça -------------------------------------------------- 42Tecimsel Markalar ----------------------------------------- 43Sonsöz ---------------------------------------------------- 44Derleyiş Hakkı -------------------------------------------- 44

© HALUK POLAT 1995–2007 1ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 3: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Teşekkür

• ŞANI BÜYÜK YÜCE ALLAH’a

Verdiği sağlık, her türlü güzellik ve nimet için…

• Burada Yer Veremediğim Herkese

Öncelikle beni bağışlasınlar. Elbette onların da REXX izlenceleşiş dili ve Rexx/SQL kütüphanesi konusunda ilerleyişim ve diğer birçok konuda bilgi sahibi oluşum sürecinde bana son derece önemli katkıları olmuştur.

© HALUK POLAT 1995–2007 2ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 4: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Önsöz

Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla birlikte kullanılmak üzere, bir doğal bileşen olarak işlev kütüphaneleri sağlanmıştır.

Bu kütüphanelere “REXX Tabanlı Çağrılabilir Devingen Bağlantı Kütüphanesi” adı verilir.

Regina isimli REXX yorumlayıcısını, Rexx/Curses isimli işlev kütüphanesini ve Rexx/DW isimli işlev kütüphanesini ücretsiz olarak insanlığın kullanımına sunan Sayın Mark HESSLING Bey, bu ürünlerin kullanıldığı değişik işletim dizgelerinde veritabanı uygulamaları geliştirmek amacıyla Rexx/SQL adı verilen bir işlev kütüphanesini de ücretsiz olarak insanlığın kullanımına sunmuştur.

Rexx/SQL kütüphanesinin kullanımı üzerine yazdığım bu kitabımın katı çoğaltım (hardcopy) şeklinde yazılmış bir örneği yoktur.

Bundan dolayı, PDF dosya biçimi kullanılarak yumuşak çoğaltım (softcopy) şeklinde hazırlanmıştır.

Bu yayınımı, SQL (Structured Query Language; Yapısal Sorgulayış Dili) dilini insanlığa kazandıran geliştiricilere adıyorum.

Gerek yordamsal REXX (Classic REXX) gerekse nesne yönelimli REXX (Object REXX) dilini kullanarak veritabanı izlenceleri geliştirmek isteyenlere yardımcı olacağını ümit ettiğim bu yayınımın, siz değerli okuyuculara yararlı olduğunu görmek beni son derece hoşnut ve mutlu edecektir.

Saygılarımla…Haluk POLAT

01.12.2007 – Aralık – Cumartesi

© HALUK POLAT 1995–2007 3ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 5: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Bilinmesi Gerekenler

Bu kitap içerisinde yer alan örnek düzgüler ve düzgü kesitleri, Rexx/SQL kütüphanesinin Windows türevli işletim dizgelerine özgü ODBC sürümünün Windows XP SP2 işletim dizgesinde kurulumu ve kullanımı sonucu gerçekleştirilmiştir.

Bu sürüme ait rexxodbc.dll, rexxsql.dll ve rexxtrans.dll dosyaları PATH ortam değişkeninde tanımlı herhangi bir dizine yerleştirilerek, geliştirilen Rexx/SQL tabanlı izlenceler, kullanımı söz konusu olan REXX yorumlayıcısı yardımıyla sorunsuz bir şekilde çalıştırılabilir.

Sürüm içerisinde yer alan rexxsql.exe ve rexxodbc.exe isimli edimli dosya, sürümde yer alan rexxodbc.dll, rexxsql.dll ve rexxtrans.dll dosyalarının bileşkesini oluşturur.

Eğer, sürüm içerisinde yer alan devingen bağlantı kütüphaneleri PATH ortam değişkeninde belirtilen dizinlerden herhangi birine yerleştirildiği halde kullanımı söz konusu olan REXX yorumlayıcısıyla, geliştirilen izlenceler başarılı bir şekilde yürütülemiyorsa, rexxsql.exe ve rexxodbc.exe isimli edimli dosya kullanılarak da yürütüm yapılabilir. Dikkat edilmesi gereken nokta rexxsql.exe ve rexxodbc.exe isimli edimli dosya, yalnız yordamsal REXX (Classic REXX) ile yazılmış izlenceleri yürütecektir.

Rexx/SQL kütüphanesine ait işlevler kullanılarak veritabanı uygulamaları geliştirebilmek amacıyla, ilk önce veritabanı ortamına ve bu ortama ait izlenceleşiş işlemlerine ait temel kavramlar hakkında bilgi sahibi olunması gereklidir.

Ancak, önceden belli bir bilgi birikimi yoksa bu kitap içerisinde yer alan konuların ve işlevlerin sıralanışından yola çıkılarak ve tarafımdan yazılan “SQL Kullanıcı Elkitabı” isimli kaynaktan –ki, bu kaynağın URL bulunağı, “Kaynakça” bölümünde verilmiştir- yararlanılarak da orta düzeyde ön bilgi sahibi olunabilir.

© HALUK POLAT 1995–2007 4ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 6: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Kim Okumalı

Bu kitap, Sayın Mark HESSLING Bey tarafından oluşturulan ve değişik yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş dili yorumlayıcılarıyla birlikte kullanılan Rexx/SQL isimli işlev kütüphanesi hakkında bilgi vermek amacıyla hazırlanmıştır.

Bu kitabı okuması gereken kişiler

• Değişik işletim dizgelerinde veritabanı izlenceleri ve yazılım ürünleri geliştirmek isteyenler.

şeklinde tanımlanmıştır.

Sözdizimi

Bu kitap içerisinde yer alan Rexx/SQL kütüphanesine ait işlevlerin çağrılışında iki farklı yöntem kullanılmaktadır. Esasen bu yöntemler, yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş dilinin doğasında var olan bir özelliktir.

Ancak, değişik kişilerce/kurumlarca oluşturulan işlev kütüphanelerinin bazıları, anılan bu yöntemlerin her ikisi için de destek sağlayamamaktadır.

Bunlardan birincisi, işlevsel kullanımdır. Bu kullanımda, ilgili işlevin sonucu bir değişkene aktarılır ve bu değişkendeki değer kullanılır. Bu kullanıma örnek olarak,

tanimlayici = mygetinsertid()Say ‘Tanimlayici: ’ tanimlayici

şeklindeki düzgü kesiti verilebilir.

İkinci yöntem de yordamsal kullanımdır. Bu kullanımda, ilgili işlevin sonucu RESULT adı verilen özel bir değişkene aktarılır ve bu değişkendeki değer kullanılır. Bu kullanıma örnek olarak da

Call mygetinsertidSay ‘Tanimlayici: ‘ RESULT

şeklindeki düzgü kesiti verilebilir.

© HALUK POLAT 1995–2007 5ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 7: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Rexx/SQL Hakkında

Rexx/SQL işlev kütüphanesi, değişik işletim dizgelerinde kullanımı söz konusu olan yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) yorumlayıcısıyla birlikte kullanılarak, veritabanı uygulamalarının geliştirilmesini sağlayan bir yazılım ürünüdür.

Ücretsiz olarak dağıtımı gerçekleştirilen ve değişik işletim dizgelerine özgü türevleri olan Regina isimli yordamsal REXX yorumlayıcısının insanlığa kazandıran Sayın Mark HESSLING Bey tarafından oluşturulmuştur.

Bu işlev kütüphanesi oluşturulurken, değişik izlenceleşiş dillerinin SQL (Structured Query Language; Yapısal Sorgulayış Dili) üzerinden veritabanı uygulamalarının geliştirilmesini sağlayan API (Application Programming Interface; Uygulama Programlama Arayüzü) bileşenlerinden yararlanılmıştır.

Kütüphane içerisinde kullanımı söz konusu olan bazı özel değişkenleri adları ve anlamları şu şekildedir:

SQLCA.SQLCODE – En son SQL işleminin sonucuna ait dönüş değeri.SQLCA.SQLERRM – En son dönüş değerine ait hata dizgisi.SQLCA.SQLSTATE – Ayrıntılı durum dizgisi. (Bazı kapılarda mevcut değili) SQLCA.SQLTEXT – En son SQL diziliminin dizgisi.SQLCA.ROWCOUNT – En son SQL işleminden etkilenen satırların sayısı.SQLCA.FUNCTION – En son çağrılan dışsal REXX işlevi.SQLCA.INTCODE – En son Rexx/SQL arayüzüne ait hata değeri.SQLCA.INTERRM – En son Rexx/SQL arayüzüne ait hata değerinin dizgisi.

Yanılgılar

Kullanılan Rexx/SQL kütüphanesinin ilgili sürümü hakkındaki yanılgılar için ilgili sürüme ait belgeleyişe gözatılması önerilir.

© HALUK POLAT 1995–2007 6ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 8: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Sorgulayış/Kuruluş/Kaldırış

Rexx/SQL kütüphanesine ait bileşenlerin kullanılabilmesi için öncelikli olarak kütüphanenin yüklü olup olmadığının denetlenmesi ve yüklü değilse yüklenmesi gerekir.

Kütüphaneye ait işlevlerle ilintili işlevler sona erdiğinde, belleğin rahatlaması için yüklenen kütüphanenin kaldırılması gereklidir.

Sorgulayış

RC = RxFuncQuery(‘SQLLoadFuncs’)

veya

Call RxFuncQuery ‘SQLLoadFuncs’

diziliminin kullanılması sonucu sıfır (0) dönüş değeri elde edilirse, Rexx/SQL kütüphanesi yüklü demektir. Eğer bir (1) değeri elde edilirse, Rexx/SQL kütüphanesi yüklü değildir.

Kuruluş

RC = RxFuncAdd(‘SQLLoadFuncs’, ‘rexxsql’, ‘SQLLoadFuncs’)

veya

Call RxFuncAdd ‘SQLLoadFuncs’, ‘rexxsql’, ‘SQLLoadFuncs’

diziliminin kullanılması sonucu sıfır (0) dönüş değeri elde edilirse, Rexx/SQL kütüphanesi başarılı bir şekilde yüklenmiş demektir.

Bu işlemin ardı sıra

RC = SQLLoadFuncs()

veya

Call SQLLoadFuncs

dizilimi kullanılarak, Rexx/SQL kütüphanesine ait tüm bileşenler etkin hale getirilir.

© HALUK POLAT 1995–2007 7ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 9: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Kaldırış

RC = RxFuncDrop(‘SQLLoadFuncs’)

veya

Call RxFuncDrop ‘SQLLoadFuncs’

diziliminin kullanılması sonucu sıfır (0) dönüş değeri elde edilirse, Rexx/SQL kütüphanesi başarılı bir şekilde bellekten kaldırılmış demektir.

İşlevler

Rexx/SQL kütüphanesinde bulunan işlevlerin dizelgesi izleyen satırlarda belirtildiği gibidir.

• SQLCONNECT() (9)

• SQLDISCONNECT() (10)

• SQLDEFAULT() (11)

• SQLCOMMAND() (12)

• SQLPREPARE() (13)

• SQLDISPOSE() (14)

• SQLOPEN() (15)

• SQLCLOSE() (16)

• SQLFETCH() (17)

• SQLGETDATA() (18)

• SQLEXECUTE() (20)

• SQLDESCRIBE() (21)

• SQLVARIABLE() (23)

• SQLGETINFO() (26)

• SQLDATASOURCES() (28)

• SQLTABLES() (30)

• SQLCOLUMNS() (32)

• SQLCOMMIT() (34)

• SQLROLLBACK() (35)

• SQLLOADFUNCS() (36)

• SQLDROPFUNCS() (37)

• LITEGETINSERTID() (38)

• MYGETINSERTID() (39)

© HALUK POLAT 1995–2007 8ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 10: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

SQLCONNECT()

Tanım

Bir veritabanına bağlantı kurulmasını sağlar.

Değiştirgeler

bağlantı

Kurulacak bağlantıyı tanımlayan dizgi. Kullanımı isteğe bağlıdır. Aynı anda birden fazla bağlantı kurulacak/kullanılacak ise, mutlaka ilgili bağlantılar isimlendirilmelidir.

kullanıcı

Veritabanı için geçerli olan kullanıcıyı tanımlayan dizgi.

şifre

Veritabanı için geçerli olacak bağlantı şifresi. Söz konusu şifre, “kullanıcı” değiştirgesiyle ilişkilendirilmiş de olabilir.

veritabanı

Bağlantı sağlanacak veritabanını tanımlayan dizgi.

sahip

Bağlantı sağlanacak veritabanını bulunduran dizgeyi tanımlayan dizgi.

Örnek Kullanım

© HALUK POLAT 1995–2007 9ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLCONNECT(bağlantı, kullanıcı, şifre, veritabanı, sahip)

RC = SQLCONNECT(‘bag1’, ‘haluk’, ‘parola’, ‘vt1’, ‘karargah’)

Page 11: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Dönüş Değeri

0: Başarılı sonuçlanış<0: Başarısız sonuçlanış.

Açıklayım

• SQLDISCONNECT() işlevi hakkındaki bilgiye bakınız. (10)

SQLDISCONNECT()

Tanım

Kurulmuş olan bir veritabanı bağlantısının sonlandırılmasını sağlar.

Değiştirgeler

bağlantı

Sonlandırılmak istenen bağlantıyı işaret eden ve SQLCONNECT() işlevi kullanılarak tanımlanan dizgi. Eğer herhangi bir bağlantı ismi belirtilmemişse, etkin olan bağlantı sonlandırılır.

Örnek Kullanım

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

• SQLCONNECT() işlevi hakkındaki bilgiye bakınız. (9)

© HALUK POLAT 1995–2007 10ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLDISCONNECT(bağlantı)

RC = SQLDISCONNECT(‘bag1’)

Page 12: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

SQLDEFAULT()

Tanım

Kurulmuş bağlantılardan herhangi birisinin varsayılan bağlantı olarak tanımlanmasını sağlar.

Değiştirgeler

bağlantı

Varsayılan bağlantı yapılacak bağlantıyı işaret eden ve SQLCONNECT() işlevi kullanılarak tanımlanan dizgi.

Örnek Kullanım

Dönüş Değeri

“bağlantı” değiştirgesi belirtildiyse:

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

“bağlantı” değiştirgesi belirtilmediyse:

Eğer önceden birden fazla bağlantı tanımı yapıldıysa, etkin bağlantıyı işaret eden dizgi döner. Eğer önceden herhangi bir bağlantı tanımı yapılmadıysa, boş dizgi döner.

Açıklayım

• SQLCONNECT() işlevi hakkındaki bilgiye bakınız. (9)

© HALUK POLAT 1995–2007 11ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLDEFAULT(bağlantı)

RC = SQLDEFAULT(‘bag1’)

Page 13: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

SQLCOMMAND()

Tanım

Bir SQL diziliminin yürütülmesini sağlar.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

SQL_dizilimi

Yürütülecek SQL dizilimini işaret eden dizgisel değer.

sarıt1, … ,sarıtN

Yer tutucuları sarmak amacıyla desteklenen değerler. DDL (Data Defination Language; Veri Tanımlayış Dili) deyimleri için belirtilebilir. DML (Data Manipulation Language; Veri Kullanım Dili) deyimleri için belirtilişi isteğe bağlıdır.

Örnek Kullanım

© HALUK POLAT 1995–2007 12ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLCOMMAND(deyim_adı, SQL_dizilimi, [sarıt1, … ,sarıtN])

RC = SQLCOMMAND(s1, “select ename, empno from emp”)

/* * * Yürütüm sonucu, örnek değerler, izleyen satırlarda * dizelgeleştirildiği gibidir: * * S1.ENAME.0 = 3 * S1.ENAME.1 = "SCOTT" * S1.ENAME.2 = "SMITH" * S1.ENAME.3 = "BROWN" * S1.EMPNO.0 = 3 * S1.EMPNO.1 = "1234" * S1.EMPNO.2 = "1437" * S1.EMPNO.3 = "1555" ** */

Page 14: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

• SQLPREPARE() işlevi hakkındaki bilgiye bakınız. (13)

• SQLOPEN() işlevi hakkındaki bilgiye bakınız. (15)

• SQLFETCH() işlevi hakkındaki bilgiye bakınız. (17)

• SQLCLOSE() işlevi hakkındaki bilgiye bakınız. (16)

• Başarılı bir DML diziliminin yürütümü sonrası, SQLCA.ROWCOUNT değişkeni, ilgili dizilimden etkilenen satırların toplam sayısını verir.

• Daha büyük sorgulayış işlemlerinde SQLCOMMAND() işlevinin kullanılması önerilmez.

SQLPREPARE()

Tanım

Bir SQL dizilimi için çalışış alanının ayrılmasını sağlar ve ilgili SQL dizilimini işleyiş için hazırlar.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

SQL_dizilimi

Yürütülecek SQL dizilimini işaret eden dizgisel değer.

© HALUK POLAT 1995–2007 13ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLPREPARE(deyim_adı, SQL_dizilimi)

Page 15: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Örnek Kullanım

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

• SQLEXECUTE() işlevi hakkındaki bilgiye bakınız. (20)

• SQLOPEN() işlevi hakkındaki bilgiye bakınız. (15)

• SQLFETCH() işlevi hakkındaki bilgiye bakınız. (17)

• SQLCLOSE() işlevi hakkındaki bilgiye bakınız. (16)

SQLDISPOSE()

Tanım

Bir SQL dizilimi ile ilişkilendirilen deyime ait bellek kaynaklarının ve çalışma alanının serbest bırakılmasını sağlar.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

© HALUK POLAT 1995–2007 14ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLPREPARE(s1, “select ename, empno from emp”)

RC = SQLDISPOSE(deyim_adı)

Page 16: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Örnek Kullanım

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

Yok. (-)

SQLOPEN()

Tanım

Bir SQL diziliminin atandığı deyim bir imlecin açılmasını sağlar. Atanan SQL dizilimi, bir “SELECT” anahtar kelimesini içeren sorgu dizilimi olmalıdır.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

sarıt1, … ,sarıtN

Yer tutucuları sarmak amacıyla desteklenen değerler. DDL deyimleri için belirtilebilir. DML deyimleri için belirtilişi isteğe bağlıdır.

© HALUK POLAT 1995–2007 15ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLDISPOSE(s1)

RC = SQLOPEN(deyim_adı, [sarıt1, … ,sarıtN])

Page 17: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Örnek Kullanım

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

• SQLPREPARE() işlevi hakkındaki bilgiye bakınız. (13)

• SQLCLOSE() işlevi hakkındaki bilgiye bakınız. (16)

SQLCLOSE()

Tanım

Bir SQL dizilimini içeren bir deyim için açılan imlecin –ki bu imleç açış işlemi, SQLOPEN() işlevi yardımıyla yapılır- kapatılmasını sağlar.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

Örnek Kullanım

© HALUK POLAT 1995–2007 16ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLOPEN(s1)

RC = SQLCLOSE(deyim_adı)

RC = SQLCLOSE(s1)

Page 18: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

• SQLPREPARE() işlevi hakkındaki bilgiye bakınız. (13)

• SQLOPEN() işlevi hakkındaki bilgiye bakınız. (15)

SQLFETCH()

Tanım

Bir SQL diziliminin atandığı deyim için sonraki satır(lar)ın elde edilmesini sağlar.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

Örnek Kullanım

© HALUK POLAT 1995–2007 17ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLFETCH(deyim_adı, sıra_sayısı)

RC = SQLFETCH(s1, 5)

Page 19: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Dönüş Değeri

Sıfır (0) ya da sayı

Başarılı sonuçlanış. Elde edilen fazladan satır yoksa sıfır (0) değeri elde edilir. Eğer fazladan elde edilen satır varsa, söz konusu satırların sayısı, SQLCA.ROWCOUNT değişkenine atanır.

Sıfırdan küçük (<0)

Başarısız sonuçlanış.

Açıklayım

• SQLPREPARE() işlevi hakkındaki bilgiye bakınız. (13)

• SQLCOMMAND() işlevi hakkındaki bilgiye bakınız. (12)

SQLGETDATA()

Tanım

Elde edilen kayıt sırasındaki dikeçlerin bir kısmının ya da tamamının çıkarılmasını (alınmasını) sağlar.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

dikeç

Üzerinde işlem yapılacak dikeci tanımlayan dizgi.

© HALUK POLAT 1995–2007 18ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLGETDATA(deyim_adı, dikeç, başlanıç, sayı, dosya)

Page 20: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

başlangıç

İşlemin yapılacağı başlangıç baytını işaret eden sayısal değer.

sayı

Üzerinde işlem yapılacak toplam bayt sayısını işaret eden sayısal değer.

dosya

Elde edilen dikeç verilerinin yazılacağı dosyanın adı ya da tam yol bulunağı.

Örnek Kullanım

© HALUK POLAT 1995–2007 19ISBN & EAN: 978 – 975 – 00742 – 3 – 3

rc = sqlprepare(s1,"select ename, empno, empaddr from emp")

rc = sqlopen(s1)

Do Forever

rc = sqlfetch(s1)

If rc <0 Then Abort()

If rc = 0 Then Leave

Do i = 0

rc = sqlgetdata(s1,'ename',(i*100)+1,100)

If rc <0 Then Abort()

If rc = 0 Then Leave

Say 'Dikec: ename:' s1.ename End

rc = sqlgetdata(s1,'empaddr',,,'/tmp/empaddr.txt')

End

Page 21: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Dönüş Değeri

Sıfır (0) ya da sayı

Başarılı sonuçlanış. Elde edilen fazladan satır yoksa sıfır (0) değeri elde edilir. Eğer fazladan elde edilen satır varsa, söz konusu satırların sayısı geri döner.

Sıfırdan küçük (<0)

Başarısız sonuçlanış.

Açıklayım

• SQLPREPARE() işlevi hakkındaki bilgiye bakınız. (13)

• SQLFETCH() işlevi hakkındaki bilgiye bakınız. (17)

• SQLOPEN() işlevi hakkındaki bilgiye bakınız. (15)

• SQLCLOSE() işlevi hakkındaki bilgiye bakınız. (16)

SQLEXECUTE()

Tanım

Sorgulayış amaçlı olmayan –yani, INSERT, UPDATE ve DELETE vb. anahtar kelimelerini bulunduran- SQL dizilimini içeren ve önceden hazırlığı tamamlanan bir deyimin yürütülmesini sağlar.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

sarıt1, … ,sarıtN

Yer tutucuları sarmak amacıyla desteklenen değerler. DDL deyimleri için belirtilebilir. DML deyimleri için belirtilişi isteğe bağlıdır.

© HALUK POLAT 1995–2007 20ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLEXECUTE(deyim_adı, [sarıt1, … ,sarıtN])

Page 22: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Örnek Kullanım

Dönüş Değeri

Sıfır (0)

Başarılı sonuçlanış. Etkilenen satırların toplam sayısı, SQLCA.ROWCOUNT değişkenine aktarılır.

Sıfırdan küçük (<0)

Başarısız sonuçlanış.

Açıklayım

• SQLPREPARE() işlevi hakkındaki bilgiye bakınız. (13)

SQLDESCRIBE()

Tanım

Bir sorgulayış deyiminden dönen ifadelerin ayrıştırılarak tanımlanmasını sağlar.

Değiştirgeler

deyim_adı

Yürütülecek SQL diziliminden dönecek değerlerin atanacağı değişkeni tanımlayan dizgi.

© HALUK POLAT 1995–2007 21ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLPREPARE(s1, “DELETE * FROM table WHERE eloc = ‘canada’”)RC = SQLEXECUTE(s1)

RC = SQLDESCRIBE(deyim_adı, kulp)

Page 23: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

kulp

İşlem sonrası değerlerin atanacağı dizinli değişkeni tanımlayan değer. Söz konusu dizinli değişkenin ilk dalı, “COLUMN” dizgisidir. Diğer dalları tanımlayan dizgiler şu şekildedir:

NAME: İlgili dikeci tanımlayan değer.

TYPE: İlgili dikecin tipini tanımlayan değer.

SIZE: İlgili dikecin boyutunu tanımlayan değer.

SCALE: İlgili dikecin aşırım ölçeğinin değeri.

PRECISION: İlgili dikecin duyarlılığının değeri.

NULLABLE: İlgili dikeç NULL değer alabiliyorsa bir (1), aksi halde sıfır (0) değeri söz konusu.

Örnek Kullanım

© HALUK POLAT 1995–2007 22ISBN & EAN: 978 – 975 – 00742 – 3 – 3

rc = sqlprepare(s2,"select ename, empno from emp")

rc = sqldescribe(s2,"AA")

/* * * İşlem sonrası örnek çıktı. * * AA.COLUMN.NAME.1 == "ENAME" * AA.COLUMN.NAME.2 == "EMPNO" * AA.COLUMN.TYPE.1 == "VARCHAR2" * AA.COLUMN.TYPE.2 == "NUMBER" * AA.COLUMN.SIZE.1 == "20" * AA.COLUMN.SIZE.2 == "6" * AA.COLUMN.PRECISION.1 == "20" * AA.COLUMN.PRECISION.2 == "40" * AA.COLUMN.SCALE.1 == "0" * AA.COLUMN.SCALE.2 == "0" * AA.COLUMN.NULLABLE.1 == "1" * AA.COLUMN.NULLABLE.2 == "0" * ** */

Page 24: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Dönüş Değeri

Sıfırdan büyük (>0) ya da sıfır (0)

Başarılı sonuçlanış durumunda sıfır (0) döner. Ya da sıfırdan büyük bir sayısal değer döner. Söz konusu bu değer, sorgulayış deyimi sonrası geçerli olan ifadelerin toplam sayısıdır.

Sıfırdan küçük (<0)

Başarısız sonuçlanış.

Açıklayım

• SQLVARIABLE() işlevi hakkındaki bilgiye bakınız. (23)

SQLVARIABLE()

Tanım

“değişken” değiştirgesiyle belirtilen Rexx/SQL kütüphanesine özgü özel değişkenlere ait güncel değerlerin okunmasını ve/veya değiştirilmesini sağlar.

Değiştirgeler

değişken

Rexx/SQL kütüphanesine ait olan özel değişkenler. Söz konusu değerlerin adları ve içerikleri izleyen satırlarda belirtildiği gibidir.

DEBUG (Atanır)

• 0: Hata ayıklayış bilgisi görüntülenmeyecek. (Varsayılan)• 1: REXX değişkenleri görüntülenir. “-v” değiştirgesi.• 2: İşlev G/Ç bilgisi görüntülenir. “-d” değiştirgesi.• 3: “1” ve “2” ortak bilgisi. “-dv” değiştirgesi.

© HALUK POLAT 1995–2007 23ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLVARIABLE(değişken, değer)

Page 25: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

VERSION (Yalnızca Okunur)

• Kütüphane ismi. Genellikle “REXXSQL” dizgisidir.• Rexx/SQL Sürümü. Örnek: 1.0.0• Rexx/SQL Tarihi. REXX ölçünlü tarih biçimi. Yani,

DATE(‘N’) diziliminde çıktı gibi.

Örnek: 10 Jun 1995

Tam Olarak: 1.0.0 10 Jun 1995• İşletim dizgesini tanımlayan dizgisel değer.• Veritabanı yazılımını tanımlayan dizgisel değer.

ROWLIMIT (Atanır)

SQLCOMMAND() işlevine yönlendirilen sorgulayış deyiminin yürütümü sonucu etkilenecek satırların toplam sayısını işaret eden sayısal değer. Varsayılan değeri, sıfır (0) rakamıdır.

LONGLIMIT (Atanır)

Sorgulayış sonucu “long” veri tipinde dönecek değerlerin en üst değeri. Varsayılan değeri, 32768 sayısıdır.

SAVESQL (Atanır)

Varsayılan değeri bir (1) değeridir. Bu durumda, en son yürütülen SQL dizimi SQLCA.SQLTEXT değişkenine aktarılır. Eğer sıfır (0) değeri atanırsa, SQLCA.SQLTEXT değişkeninin değeri, boş bir dizgidir.

AUTOCOMMIT (Atanır)

Özdevimsel işleyişin etkin olup olmayacağını işaret eden değer. “ON” veya “OFF” değeri atanır. Varsayılan değer, “OFF” şeklindedir. Bu değişkenle ilintili işlevler, SQLCOMMIT() ve SQLROLLBACK() şeklindedir.

© HALUK POLAT 1995–2007 24ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 26: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

IGNORETRUNCATE (Atanır)

Dikeç budayış işleminin önemsenip önemsenmeyeceğinin belirlenmesini sağlar. “ON” veya “OFF” değeri atanır. Varsayılan değer, “OFF” şeklindedir.

NULLSTRINGOUT (Atanır)

Boş dizgi dışsallaştırışı için geçerli olan sayısal değer. Belirtilebilecek en büyük değer, otuz (30) şeklindedir.

NULLSTRINGIN (Atanır)

Boş dizgi içselleştirişi için geçerli olan sayısal değer. Belirtilebilecek en büyük değer, otuz (30) şeklindedir.

SUPPORTPLACEMARKERS (Yalnızca Okunur)

1: Yer tutucu desteği var.0: Yer tutucu desteği yok.

STANDARDPLACEMARKERS (Atanır)

1: Ölçünlü yer tutucu desteği sağlanır.0: Ölçünlü yer tutucu desteği sağlanmaz.

SUPPORTSDMLROWCOUNT (Yalnızca Okunur)

1: DML için satır sayısı desteği var.0: DML için satır sayısı desteği yok.

SUPPORTSTHREADS (Yalnızca Okunur)

1: İşlemcik desteği var.0: İşlemcik desteği yok.

değer

“değişken” değiştirgesiyle bir değer atayış işlemi yapılacaksa, atanılacak değer, bu değiştirge yardımıyla belirtilir.

© HALUK POLAT 1995–2007 25ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 27: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Örnek Kullanım

Dönüş Değeri

Bir değer atayış işleminin yapılması halinde; sıfır (0) dönerse başarılı sonuçlanışı, herhangi bir değer dönerse başarısız sonuçlanışı işaret eder.

Eğer bir değişkenin değeri sorgulanıyorsa, ilgili değişkenin değeri elde edilir.

Açıklayım

Yok. (-)

SQLGETINFO()

Tanım

Temas sağlanan veritabanıyla ilintili değişik bilgilerin elde edilmesini sağlar. SQLVARIABLE() işlevine benzeyen bu işlevin farkı, bir veritabanı bağlantısına temasın sağlanmış olmasıdır.

Değiştirgeler

bağlantı

Kurulan veritabanı bağlantısını tanımlayan dizgi.

© HALUK POLAT 1995–2007 26ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Say ‘Yanilgi Ayiklayis Seviyesi: ‘ SQLVARIABLE(‘DEBUG’)

RC = SQLGETINFO(bağlantı, değişken, kulp)

Page 28: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

değişken

Bilgisi alınacak değişkeni işaret eden dizgisel değer. Söz konusu değerler ve anlamları izleyen satırlarda belirtildiği gibidir:

DATATYPES

Dikeçler için geçerli olan veri tipleri hakkındaki bilgiler elde edilir.

DESCRIBECOLUMNS

Dikeçler hakkındaki bilgiler elde edilir.

SUPPORTSTRANSACTIONS

İlgili veritabanı işlemleri desteklerse bir (1), aksi halde sıfır (0) değeri elde edilir. SQLCOMMIT() ve SQLROLLBACK() işlevi hakkındaki bilgiye bakınız.

SUPPORTSSQLGETDATA

İlgili veritabanı Rexx/SQL işlevlerini destekliyorsa bir (1), aksi halde sıfır (0) değeri elde edilir. SQLGETDATA() işlevine bakınız.

DBMSNAME

İlgili veritabanının yönetim dizgesinin ismi elde edilir.

kulp

Elde edilecek bilgilerin atanacağı dizinli değişkeni işaret eden değer.

© HALUK POLAT 1995–2007 27ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 29: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Örnek Kullanım

Dönüş Değeri

“kulp” değiştirgesi belirtilmişse:

Birleşik değişkendeki değişken isminin değeri elde edilir. Vurgulanan değişken, “değişken” değiştirgesiyle belirtilen değişkendir.

“kulp” değiştirgesi belirtilmemişse:

Değişken ismi seçeneğinin değeri elde edilir. Vurgulanan değişken, “değişken” değiştirgesiyle belirtilen değişkendir.

Açıklayım

• SQLCOMMIT() işlevi hakkındaki bilgiye bakınız. (34)

• SQLROLLBACK() işlevi hakkındaki bilgiye bakınız. (35)

• SQLGETDATA() işlevi hakkındaki bilgiye bakınız. (18)

SQLDATASOURCES()

Tanım

Mevcut veri kaynaklarının bir dizelgesinin elde edilmesini sağlar.

© HALUK POLAT 1995–2007 28ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Say “mSQL veritabani hakkindaki bilgi aliniyor… (kulp ile)”

rc = sqlgetifno("c1","DATATYPES","dt.")

Do i = 1 To dt.0 Say i '-' dt.iEnd

Say “mSQL veritabani hakkindaki bilgi aliniyor… (kulpsuz)”

Say sqlgetifno(c1,"DATATYPES")

RC = SQLDATASOURCES(kulp)

Page 30: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Değiştirgeler

kulp

Elde edilen dizelgenin aktarılacağı dizinli değişkeni işaret eden değer.

Örnek Kullanım

Dönüş Değeri

Sıfırdan büyük (>0) ya da sayısal değer

Başarılı sonuçlanış.

Sıfırdan küçük (<0)

Başarısız sonuçlanış.

Açıklayım

Yok. (-)

© HALUK POLAT 1995–2007 29ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Say "ODBC Veri Kaynaklari bilgisi aliniyor..."

rc = sqldatasources( "!ds." )

Do i = 1 To !ds.dsn_name.0

Say 'Isim:' !ds.dsn_name.i , 'Tanim:' !ds.dsn_description.i

End

Page 31: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

SQLTABLES()

Tanım

Etkin veritabanındaki tabloların bir dizelgesinin elde edilmesini sağlar.

Değiştirgeler

kulp

Elde edilecek verilerin aktarılacağı dizinli değişkeni işaret eden değer. Bu değiştirgeye ait dallar şu şekildedir:

kulp.TABLE_CATALOG.n

Tablo nitelendiricisi.

kulp.TABLE_OWNER.n

Tablo sahibi.

kulp.TABLE_NAME.n

Tablo adı.

kulp.TABLE_TYPE.n

Tablo tipi.

kulp.TABLE_DESCRIPTION.n

Tablo tanımı.

nitelendirici

İsteğe bağlı olarak kullanılabilir. Üzerinde işlem yapılacak tablonun nitelendiricisini işaret eden değer. “wildcard” açılımları olarak bilinen karakterler de belirtilebilir.

© HALUK POLAT 1995–2007 30ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLTABLES(kulp, nitelendirici, sahip, tablo_adı, tablo_tipi)

Page 32: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

sahip

İsteğe bağlı olarak kullanılabilir. Üzerinde işlem yapılacak tablonun sahibini işaret eden değer. “wildcard” açılımları olarak bilinen karakterler de belirtilebilir.

tablo_adı

İsteğe bağlı olarak kullanılabilir. Üzerinde işlem yapılacak tabloyu işaret eden dizgisel değer. “wildcard” açılımları olarak bilinen karakterler de belirtilebilir.

tablo_tipi

İsteğe bağlı olarak kullanılabilir. Üzerinde işlem yapılacak tablonun tipini işaret eden değer. Söz konusu değerler; TABLE, VIEW, SYSTEM TABLE şeklinde olup aralarında bir virgül kullanılarak da birliktelikleri oluşturulabilir.

Örnek Kullanım

Dönüş Değeri

Sıfırdan büyük (>0) ya da sayısal değer

Başarılı sonuçlanış.

Sıfırdan küçük (<0)

Başarısız sonuçlanış.

Açıklayım

• SQLCOLUMNS() işlevi hakkındaki bilgiye bakınız. (32)

© HALUK POLAT 1995–2007 31ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLTABLES(‘kulp.’, ‘karsak’, ‘karsak’, ‘deneme’, ‘TABLE’)

Say ‘Tablo Ismi Sayisi =’ kulp.TABLE_NAME.0Say ‘Tablo Ismi.1 =’ kulp.TABLE_NAME.1Say ‘Tablo Ismi.2 =’ kulp.TABLE_NAME.2Say ‘Tablo Ismi.3 =’ kulp.TABLE_NAME.3

Page 33: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

SQLCOLUMNS()

Tanım

Etkin veritabanında yer alan tablolardaki dikeçlerin bir dizelgesinin elde edilmesini sağlar.

Değiştirgeler

kulp

Elde edilecek verilerin aktarılacağı dizinli değişkeni işaret eden değer. Bu değiştirgeye ait dallar şu şekildedir:

kulp.TABLE_CATALOG.n

Tablo nitelendiricisi.

kulp.TABLE_OWNER.n

Tablo sahibi.

kulp.TABLE_NAME.n

Tablo adı.

kulp.COLUMN_NAME.n

Dikeç adı.

kulp.COLUMN_TYPE.n

Dikecin veri tipinin adını işaret eden değer.

kulp.COLUMN_SIZE.n

Dikecin görüntüleniş boyutunu işaret eden sayısal değer.

© HALUK POLAT 1995–2007 32ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLCOLUMNS(kulp, nitelendirici, sahip, tablo_adı, tablo_tipi)

Page 34: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

kulp.COLUMN_PRECISION.n

Dikecin ondalık duyarlılığını işaret eden sayısal değer.

kulp.COLUMN_SCALE.n

Ondalık ölçek etkenini işaret eden sayısal değer.

kulp.COLUMN_NULLABLE.n

Dikecin boş olabilirlik durumunu işaret eden değer.

kulp.COLUMN_DESCRIPTION.n

Dikecin tanımını işaret eden değer.

nitelendirici

İsteğe bağlı olarak kullanılabilir. Üzerinde işlem yapılacak tablonun nitelendiricisini işaret eden değer. “wildcard” açılımları olarak bilinen karakterler de belirtilebilir.

sahip

İsteğe bağlı olarak kullanılabilir. Üzerinde işlem yapılacak tablonun sahibini işaret eden değer. “wildcard” açılımları olarak bilinen karakterler de belirtilebilir.

tablo_adı

İsteğe bağlı olarak kullanılabilir. Üzerinde işlem yapılacak tabloyu işaret eden dizgisel değer. “wildcard” açılımları olarak bilinen karakterler de belirtilebilir.

tablo_tipi

İsteğe bağlı olarak kullanılabilir. Üzerinde işlem yapılacak tablonun tipini işaret eden değer. Söz konusu değerler; TABLE, VIEW, SYSTEM TABLE şeklinde olup aralarında bir virgül kullanılarak da birliktelikleri oluşturulabilir.

© HALUK POLAT 1995–2007 33ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 35: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Örnek Kullanım

Dönüş Değeri

Sıfırdan büyük (>0) ya da sayısal değer

Başarılı sonuçlanış.

Sıfırdan küçük (<0)

Başarısız sonuçlanış.

Açıklayım

• SQLTABLES() işlevi hakkındaki bilgiye bakınız. (31)

SQLCOMMIT()

Tanım

Etkin işlemin işlenmesini sağlar.

Değiştirgeler

Yok. (-)

© HALUK POLAT 1995–2007 34ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLCOLUMNS(‘kulp.’, ‘karsak’, ‘karsak’, ‘deneme’, ‘TABLE’)

Say ‘Dikec Ismi Sayisi =’ kulp.COLUMN_NAME.0Say ‘Dikec Ismi.1 =’ kulp.COLUMN_NAME.1Say ‘Dikec Ismi.2 =’ kulp.COLUMN_NAME.2Say ‘Dikec Ismi.3 =’ kulp.COLUMN_NAME.3

RC = SQLCOMMIT()

Page 36: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Örnek Kullanım

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

Yok. (-)

SQLROLLBACK()

Tanım

Etkin işlemin geri yuvarlanmasını sağlar.

Değiştirgeler

Yok. (-)

Örnek Kullanım

Dönüş Değeri

>0: Uyarısal sonuçlanış.0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

© HALUK POLAT 1995–2007 35ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLCOMMIT()

RC = SQLROLLBACK()

RC = SQLROLLBACK()

Page 37: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Açıklayım

Yok. (-)

SQLLOADFUNCS()

Tanım

Rexx/SQL kütüphanesindeki işlevlerin belleğe yüklenmesini sağlar.

Değiştirgeler

Yok. (-)

Örnek Kullanım

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

• SQLDROPFUNCS() işlevi hakkındaki bilgiye bakınız. (37)

• “Sorgulayış/Kuruluş/Kaldırış” konusuna bakınız. (7)

© HALUK POLAT 1995–2007 36ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLLOADFUNCS()

RC = SQLLOADFUNCS()

Page 38: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

SQLDROPFUNCS()

Tanım

Belleğe yüklenen Rexx/SQL işlevlerinin bellekten uzaklaştırılmasını sağlar.

Değiştirgeler

Yok. (-)

Örnek Kullanım

Dönüş Değeri

0: Başarılı sonuçlanış.<0: Başarısız sonuçlanış.

Açıklayım

• SQLLOADFUNCS() işlevi hakkındaki bilgiye bakınız. (36)

• “Sorgulayış/Kuruluş/Kaldırış” konusuna bakınız. (7)

© HALUK POLAT 1995–2007 37ISBN & EAN: 978 – 975 – 00742 – 3 – 3

RC = SQLDROPFUNCS()

RC = SQLDROPFUNCS()

Page 39: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

LITEGETINSERTID()

Tanım

SQLite3 veritabanlarında kullanılmak üzere; üzerinde işlem yapılacak dikecin INTEGER PRIMARY KEY (tamsayı türünden birincil anahtar) olarak tanımlandığı ve dikece yerleştirilen değerin NULL (boş değer) olduğu yerlerde, yerleştirilen ya da güncellenen sıra için en son tekil tanımlayıcının elde edilmesini sağlar.

Değiştirgeler

Yok. (-)

Örnek Kullanım

Dönüş Değeri

Başarılı sonuçlanış halinde, tekil tanımlayıcı değeri geri döner. Başarısız sonuçlanış halinde, sıfırdan küçük sayısal değer döner.

Açıklayım

Yok. (-)

© HALUK POLAT 1995–2007 38ISBN & EAN: 978 – 975 – 00742 – 3 – 3

tanımlayıcı = LITEGETINSERTID()

Call sqlconnect( 'c1', , , 'test.db' )

Call sqlcommand( 't1', 'create table table1 , (pkid1 integer primary key, col1 string )'

Call sqlcommand( 't1', 'create table table2 , (pkid2 integer primary key, fkid1 integer, , col1 Call sqlcommand( 'i1', 'insert into table1 , values( null, "string value") )'

id = litegetinsertid()

Call sqlcommand( 'i2', 'insert into table2 , values( null,' id ', "string value")' )

Call sqldisconnect( 'c1' )

Page 40: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

MYGETINSERTID()

Tanım

MySQL veritabanlarında kullanılmak üzere; üzerinde işlem yapılacak dikecin AUTO_INCREMENT olarak tanımlandığı yerlerde, yerleştirilen ya da güncellenen sıra için en son tekil tanımlayıcının elde edilmesini sağlar.

Değiştirgeler

Yok. (-)

Örnek Kullanım

Dönüş Değeri

Başarılı sonuçlanış halinde, tekil tanımlayıcı değeri geri döner. Başarısız sonuçlanış halinde, sıfırdan küçük sayısal değer döner.

Açıklayım

Yok. (-)

© HALUK POLAT 1995–2007 39ISBN & EAN: 978 – 975 – 00742 – 3 – 3

tanımlayıcı = MYGETINSERTID()

Call sqlconnect( 'c1', 'username', 'password', 'localhost' )

Call sqlcommand( 't1', 'create table table1 , (pkid1 integer primary key, col1 string )'

Call sqlcommand( 't1', 'create table table2 , (pkid2 integer primary key, fkid1 integer, col1 , Call sqlcommand( 'i1', 'insert into table1 , values( null, "string value") )'

id = mygetinsertid()

Call sqlcommand( 'i2', 'insert into table2 , values( null,' id ', "string value")' )

Call sqldisconnect( 'c1' )

Page 41: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Yer Tutucular ve Sarıtlar

Bu iki kavramın daha iyi anlaşılabilmesi için izleyen satırlarda verilen iki örnek düzgü kesitinin incelenmesi yeterlidir.

Yer Tutucu için Örnek:

Sarıt için Örnek:

© HALUK POLAT 1995–2007 40ISBN & EAN: 978 – 975 – 00742 – 3 – 3

query1 = "select name from emp where id = ? and deptno = ?"

rc = sqlcommand(q1,query1,"CHAR","F1","SMALLINT",10)

query1 = "select name from emp where id = ? and deptno = ?"

dt.0 = 2dt.1 = "CHAR"dt.2 = "SMALLINT"

bv.0 = 2bv.1 = "F1"bv.2 = "10"

rc = sqlcommand(q1,query1,"dt.","bv.")

Page 42: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Sözlükçe

Bu kitap içerisinde kullanımı söz konusu olan Türkçe karşılıkların, değişik dillerdeki yansıyışları izleyen satırlarda belirtildiği gibidir.

• Ağ Sayfası: Web Sayfası• Bağlantı: Link• Belgeleyiş: Dokümantasyon• Bulunak: Adres• Devingen: Dinamik• Dışsal: Harici, External• Dikeç: Kolon• Dizelge: Liste• Dizelgeleştirmek: Listelemek• Dizge: Sistem• Dizgi: String• Düzgü: Kod• Gerçekleştirim: Implementation• İçsel: Dâhili, Internal• İmleç: Kursör• İşlev: Fonksiyon• İzlence: Program• İzlenceleşiş: Programlama• Kesit: Sektör• Ölçün: Standart (isim olarak)• Ölçünlü: Standart (sıfat olarak)• Özdevimli: Otomatik• Özdevimsel: Otomatik olarak• Sonuçlanış: Sonuçlanma, Resulting• Sözlükçe: Glosari• Tecimsel: Ticari• Yanılgı: Hata

Veritabanı Gerçekleştirimleri

Rexx/SQL kütüphanesinin çeşitli veritabanlarıyla birlikte kullanılmasını sağlayan gerçekleştirimlerdeki ayrıntılar için, kullanılan Rexx/SQL sürümünün özgün belgeleyişinde yer alan “Appendixes (Ekler)” bölümüne göz atılması önerilir.

© HALUK POLAT 1995–2007 41ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 43: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Kaynakça

• REXX Programlama Dili

REXX izlenceleşiş dili hakkında hazırlanmış ilk Türkçe yayın olan ve tarafımdan yazılan bu elektronik kitaba

http://www.halukpolat.com/tr/kitaplar/rexx/

şeklindeki URL bulunağından erişilebilir.

• SQL Kullanıcı Elkitabı

SQL dili hakkında tarafımdan yazılan bu elektronik kitaba

http://www.halukpolat.com/tr/kitaplar/sqlkek(

şeklindeki URL bulunağından erişilebilir.

• Rexx Language Association (RexxLA)

REXX izlenceleşiş dili üzerine kurulmuş ve uluslararası niteliği olan dernek. Derneği resmi ağ sayfasına

http://www.rexxla.org/

şeklindeki URL bulunağından erişilebilir.

• Mark HESSLING

Kendisi tarafından oluşturulan Regina isimli REXX yorumlayıcısı ve REXX ilintili yazılım ürünleri hakkında bilgi veren ağ sayfasına

http://www.rexx.org/

şeklindeki URL bulunağından erişilebilir.

© HALUK POLAT 1995–2007 42ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 44: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

• Kişisel Ağ Sayfam

Şahsıma ait kişisel ağ sayfamda REXX izlenceleşiş dili başta olmak üzere diğer pek çok bilişimsel konuda bilgiler bulunmaktadır. Kişisel ağ sayfama

http://www.halukpolat.com/

şeklindeki URL bulunağından erişilebilir.

Tecimsel Markalar

IBM markası ve logosu, International Business Machines şirketinin kayıtlı tecimsel markasıdır.

OS/2 (Operating Systems/2) markası ve logosu, International Business Machines şirketinin kayıtlı tecimsel markasıdır.

Windows markası ve logosu, Microsoft şirketinin kayıtlı tecimsel markasıdır.

© HALUK POLAT 1995–2007 43ISBN & EAN: 978 – 975 – 00742 – 3 – 3

Page 45: Rexx/SQL Kütüphanesi - dizge24.org · Rexx/SQL Kütüphanesi Önsöz Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) izlenceleşiş diline ait yorumlayıcılarla

Rexx/SQL Kütüphanesi

Sonsöz

• Sizlerle paylaştığım bu yayınım hakkındaki her türlü görüşü, öneriyi, düşünceyi ve yapıcı eleştiriyi

[email protected]

şeklindeki elmek bulunağıma göndermenizi rica ediyorum.

Saygılarımla…Haluk POLAT

01.12.2007 – Aralık – Cumartesi

Derleyiş Hakkı

1. © HALUK POLAT 1995, KARS, TÜRKİYE.2. © HALUK POLAT 1996, ANKARA, TÜRKİYE.3. © HALUK POLAT 1997–2000, KARS, TÜRKİYE.4. © HALUK POLAT 2001–2006, İZMİR, TÜRKİYE.5. © HALUK POLAT 2007, KARS, TÜRKİYE.

© HALUK POLAT 1995–2007 44ISBN & EAN: 978 – 975 – 00742 – 3 – 3