58
Veritabanı sorgusu
SQL Server, PostgreSQL, MySQL, Oracle veya SQLite veritabanında SELECT sorgusu çalıştırır; sonuç satır listesi olur ve Her satır için döngüsüne verilebilir. Yalnız okuma yapılır.
Nasıl kullanılır?
- Bağlantı alanından veritabanını seçin; yoksa Yeni bağlantı ile sunucu, kullanıcı ve şifreyi girin.
- SQL sorgusunu yazın (ör. SELECT FATURANO, TUTAR FROM FATURALAR WHERE DURUM =
${durum}).
- Bu adımı test et ile sonucu kontrol edin.
Sonuç
Satır listesi: her satır sütun adlarıyla gelir. Her satır için ile döngüye verin.
İpucu. Yalnız okuma yapılır; kayıt ekleyen, değiştiren veya silen sorgular reddedilir. Veritabanında yalnız okuma yetkisi olan bir kullanıcı kullanın.
Alanlar (4)
- Veritabanı bağlantısı
- Boş bırakılırsa varsayılan veritabanı bağlantısı kullanılır.
- SQL sorgusu zorunlu
- Tek bir SELECT (veya WITH) sorgusu. Değerleri
${row.kod} ile yazın; tırnak koymanıza gerek yok, güvenli parametre olarak gönderilir. Liste için IN (${kodlar}), metin araması için LIKE '%${ad}%' yazabilirsiniz.
- En fazla satır zorunlu
- Sorgu daha fazla satır döndürürse ilk bu kadar satır alınır ve günlükte uyarı görünür.
- Sonucu değişkene kaydet zorunlu
- Satır listesinin adı. Her satır için adımında
${rows} olarak verin; ${row.SUTUN_ADI} ile alanlara ulaşın.
Uygulamalı deneme: Deneme 12 · Veritabanı: sorgula ve güncelle
89
Veritabanında değişiklik yap
Kayıt ekler, günceller, siler veya saklı yordam çalıştırır (INSERT, UPDATE, DELETE, MERGE, EXEC). Yalnız bağlantıda yazma izni verilen tablolarda çalışır; sınırdan fazla satır değişirse işlem geri alınır.
Nasıl kullanılır?
- Ayarlar → Bağlantılar'da veritabanı bağlantısını açın; Kayıt değiştirmeye izin ver'i işaretleyip değiştirilecek tabloları ve saklı yordamları yazın.
- Adımda tek bir komut yazın (ör. UPDATE dbo.siparisler SET durum =
${yeni_durum} WHERE no = ${row.no}).
- En fazla değişecek satır sayısını belirleyin; tek kayıt için 1.
Sonuç
${db_result.affected}: değişen satır sayısı; ${db_result.rows}: dönen satırlar.
İpucu. Komut kendi işleminde çalışır: sınırdan fazla satır değişecekse veya bir hata olursa tamamı geri alınır. WHERE'siz UPDATE / DELETE, tablo yapısını değiştiren komutlar ve dinamik SQL çalıştırılmaz. Veritabanı kullanıcısına yalnız gereken tablolarda yazma yetkisi verin.
Alanlar (5)
- Veritabanı bağlantısı
- Boş bırakılırsa varsayılan veritabanı bağlantısı kullanılır.
- SQL komutu zorunlu
- Tek bir komut: INSERT INTO tablo (...) VALUES (...), UPDATE tablo SET ... WHERE ..., DELETE FROM tablo WHERE ..., MERGE veya EXEC dbo.yordam @p =
${deger}. Değerleri ${row.no} ile yazın; tırnak gerekmez, güvenli parametre olarak gönderilir.
- En fazla değişecek satır zorunlu
- Komut bundan fazla satırı değiştirecekse hiçbir şey kaydedilmez ve akış durur. Tek kaydı güncelleyen adımda 1 bırakın.
- Hiç satır değişmezse
- Koşula uyan kayıt yoksa: Akışı durdur, kaydın bulunamadığını gösterir. Devam et seçilirse
${db_result.affected} 0 olur. Seçenekler: Akışı durdur, Devam et.
- Sonucu değişkene kaydet zorunlu
${db_result.affected}: değişen satır sayısı (saklı yordamda bilinmeyebilir), ${db_result.rows}: OUTPUT / RETURNING veya yordamın döndürdüğü satırlar.
Uygulamalı deneme: Deneme 12 · Veritabanı: sorgula ve güncelle