SQL EXECUTE ile SQL talimatlarını yürütme

Uygulama

SQL EXECUTE öğesini çeşitli SQL talimatlarıyla bağlantılı olarak kullanırsınız.

Ön koşullar

  • Anahtar numarası 555343
  • Tablo mevcut
  • Uygun tablo adı
  • Tabloların ve tablo sütunlarının adı bir harfle başlamalı ve içerisinde işlem işaretleri, örn. + bulunmamalıdır. Bu işaretler SQL komutlarından dolayı verilerin girilmesi ya da okunması sırasında problemlere yol açabilir.

Fonksiyon tanımı

SQL EXECUTE_01
Siyah oklar ve ilgili söz dizimi SQL EXECUTE dahili süreçlerini gösterir. Gri oklar ve ilgili söz dizimi doğrudan SQL EXECUTE komutuna ait değildir.

Kumanda, SQL EXECUTE komutunda aşağıdaki SQL talimatlarını sağlar:

Talimat

Fonksiyon

SELECT

Verileri seçme

CREATE SYNONYM

Eşanlamlı oluşturma (uzun yol adlarını kısa adlarla değiştirme)

DROP SYNONYM

Eş anlamı sil

CREATE TABLE

Tablo oluştur

COPY TABLE

Tabloyu kopyala

RENAME TABLE

Tabloyu yeniden adlandır

DROP TABLE

Tabloyu sil

INSERT

Tablo satırlarını ekle

GÜNCELLEME

Tablo satırlarını güncelleme

DELETE

Tablo satırlarını sil

ALTER TABLE

  • ADD ile tablo sütunları ekle
  • DROP ile tablo sütunlarını sil

RENAME COLUMN

Tablo sütunlarını yeniden adlandır

SQL talimatı SELECT ile SQL EXECUTE

SQL sunucusu verileri satır şeklinde Result-set (sonuç miktarı) içerisine kaydeder. Satırlar 0'dan başlayarak devam eden biçimde numaralandırılır. FETCH ve UPDATE SQL komutları bu satır numarasını (INDEX) kullanır.

SELECT SQL talimatıyla bağlantılı olan SQL EXECUTE, tablo değerlerini seçer, bu değerleri Result-set içerisine aktarır ve bu sırada her zaman bir işlem açar. SQL SELECT SQL komutunun aksine SQL EXECUTE ve SELECT talimatının kombinasyonu, birden fazla sütun ve satırın aynı anda seçilmesini mümkün kılar.

SQL ... fonksiyonunda "SELECT...WHERE..." arama kriterini girin. Böylece aktarılacak satırların sayısını ihtiyaç halinde sınırlandırabilirsiniz. Bu seçeneği uygulamazsanız tablonun bütün satırları yüklenir.

SQL ... fonksiyonunda "SELECT...ORDER BY..." sıralama kriterini girin. Bilgi, sütun tanımlamasından ve artan (ASC) ya da azalan (DESC) sıralama için anahtar kelimeden meydana gelir. Bu seçeneği kullanmazsanız satırlar rastgele bir sıralamada kaydedilir.

SQL ... fonksiyonuyla "SELECT...FOR UPDATE" diğer uygulamaların seçilmiş satırlarını kilitleyin. Başka uygulamalar bu satırları okuyabilir ancak değiştiremez. Tablo girişlerinde değişiklikler yaparsanız bu opsiyonu mutlaka kullanın.

Boş Result-set: Arama kriterine hiçbir satır uymuyorsa SQL sunucu tablo girişi olmadan geçerli bir HANDLE öğesini geri aktarır.

WHERE verisi koşulları

Koşul

Programlama

eşit

= ==

eşit değil

!= <>

küçüktür

<

küçük ya da eşittir

<=

büyüktür

>

büyük ya da eşittir

>=

boş

IS NULL

boş değil

IS NOT NULL

Birden fazla koşulun bağlanması:

Mantıklı VE

AND

Mantıklı VEYA

OR

Uyarılar

  • Henüz oluşturulmamış tablolar için de eş anlamlılar tanımlayabilirsiniz.
  • Oluşturulan dosyadaki sütunların sırası, AS SELECT talimatı dahilindeki sıraya eşittir.
  • SQL komutu dahilindeki talimatlar için aynı şekilde basit veya birleştirilmiş QS parametreleri kullanabilirsiniz.
  • Alfasayısal değerleri zincirleme

  • QS parametresinin içeriğini ek durum göstergesinde (QPARA sekmesi) kontrol ederseniz içeriğin tamamını değil, yalnızca ilk 30 karakteri görürsünüz.
  • QPARA sekmesi

Örnek

Örnek: Tablo satırlarının seçilmesi

11 SQL BIND Q881 "Tab_Example.Position_Nr"

12 SQL BIND Q882 "Tab_Example.Measure_X"

13 SQL BIND Q883 "Tab_Example.Measure_Y"

14 SQL BIND Q884 "Tab_Example.Measure_Z"

. . .

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example"

Örnek: Tablo satırlarının WHERE fonksiyonu ile seçilmesi

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr<20"

Örnek: Tablo satırlarının WHERE fonksiyonu ve Q parametresi ile seçilmesi

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr==:’Q11’"

Örnek: Tablo adının mutlak yol bilgisi aracılığıyla tanımlanması

20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM ’V:­\table­\Tab_Example’ WHERE Position_Nr<20"

0 BEGIN PGM SQL_CREATE_TAB MM

1 SQL Q10 "CREATE SYNONYM NEW FOR 'TNC:\table\NewTab.TAB'"

Eş anlamlı oluşturma

2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'"

Tablo oluşturma

3 END PGM SQL_CREATE_TAB MM

0 BEGIN PGM SQL_CREATE_TABLE_QS MM

1 DECLARE STRING QS1 = "CREATE TABLE "

2 DECLARE STRING QS2 = "'TNC:\nc_prog\demo\Doku\NewTab.t' "

3 DECLARE STRING QS3 = "AS SELECT "

4 DECLARE STRING QS4 = "DL,R,DR,L "

5 DECLARE STRING QS5 = "FROM "

6 DECLARE STRING QS6 = "'TNC:\table\tool.t'"

7 QS7 = QS1 || QS2 || QS3 || QS4 || QS5 || QS6

8 SQL Q1800 QS7

9 END PGM SQL_CREATE_TABLE_QS MM