Upload
others
View
28
Download
0
Embed Size (px)
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
İÇİ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
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
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
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
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
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
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
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
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’)
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’)
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’)
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" ** */
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)
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ı)
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])
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)
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)
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)
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
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])
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)
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" * ** */
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)
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
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
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)
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
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)
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
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)
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
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)
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
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()
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()
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()
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()
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' )
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' )
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.")
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
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
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
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
ş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