Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| Cevap: SQL VE TQUERY Dev Arşiv...
DML İfadelerinde Alt Durum Parametreleri Dml ifadelerinde değerler yerine kullanılabilen değişkenler : den sonra yazılmalıdırlar.
Örneğin : SELECT ad,soyad From "Musteri.db" Where soyad>:var1 and ad<:var2 Toplam Fonksiyonları Çağrılan datayla birlikte aşağıdaki Ansi-Standard SQL toplam fonksiyonları kullanılabilir. SUM () Bir sütundaki değerlerin toplamını alır. AVG () Bir sütundaki değerlerin ortalamasını alır. MIN () Bir sütundaki değerlerin en küçüğünü bulur. MAX () Bir sütundaki değerlerin en büyüğünü bulur. COUNT () Bir sütundaki değerlerin sayısını bulur
Örnek : SELECT SUM (BRUT) FROM PERSONEL String Fonksiyonları UPPER() Stringi büyük harfe çevirir. LOWER() Stringi küçük harfe çevirir. TRIM() Stringin bazı kısımlarını alır. SUBSTRING() Stringten alt stringler oluşturur.
Örnek : Select from Tez1.db Where Upper(Soyad)='ARSLAN' Tarih Fonksiyonu
Local SQL EXTRACT() fonksiyonuna tarih/zaman alanlarından tek sayısal alanı almak ve şu şekilde kullanmak suretiyle çalışmasına izin verir. EXTRACT (extract_alan From alan_adı) Örneğin aşağıdaki ifade tarih alanından yıl değerini alır. Select Extract( Yıl From Dogum_tar) From Ogrenci Aynı zamanda MONTH ,DAY,HOUR,MINUTE,SECOND değerlerini de bu fonksiyonu kullanarak çıkartabilirsiniz.
NOT : EXTRACT TIMEZONE_HOUR veya TIMEZONE_MINUTE cümleciklerini desteklemez. Operatörler
Local SQL şu operatörleri destekler.
Aritmetik ( ) ,+ , - , , /
Karşılaştırma <, >,= ,<>, >=,=< ,IS NULL ,IS NOTNULL, : Boşluk olarakda nitelendirilir. ' ' boşluk değildir. IN ,NOTIN Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ir küme içinde olup olmama durumu [NOT] BETWEEN x AND y Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ir değerin x ile y arasında veya dışında olması durumlarını belirtir ALL Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ir kümedeki tüm değerlendirir ve bir eşitlik veya eşitsizlikle kullanılır. Where Ucret>=ALL(10000,20000) ANY : Bir kümeden elde edilen değerlerin her hangi biriyse seçime dahil olunur. [NOT] EXISTS :Alt sorgu kavramıyla kullanılır. [NOT] LIKE Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. enzerlik işlemcisi Where isim Like 'A%' İsmi 'A' ile başlayanlar
Mantıksal ( ) ,AND ,OR , NOT
String birleştirme || Güncellenebilen Sorgular SQL linkleri hem tekli hem de çoklu tabloların güncelleştirilebilir sorguları için genişletilmiş destek sunar. Şu kısıtlamalar güncellemelere etki eder.
• Link yapılan alanlar güncellenemez
• Index anahtarlaması hataya yol açar.
Aktif Sorgulardaki Sınırlamalar
Tekli tablo sorguları veya görünümleri (güncellenebilir olanlar) şunları sağlar:
• Join Union,Intersect ,Minus işlemleri yoktur.
• Distinct anahtar kelimesi Select' te yoktur.
• Select cümleciğindeki her şey basit Sütun referansı veya hesaplanmış alandır , Toplam fonksiyonlarına izin verilmez
• From cümleciğinde referans edilen tablo hem güncellenebilir taban tablosu veya güncellenebilir görünüme sahiptir.
• Group By ve Having cümleciği yoktur.
• Alt sorgular yoktur, alt ilişkili sorgular yoktur.
• Herhangi bir Order By cümleciği Index Ek kısıtlamalar alanlara veya kursor metotlarına uygulanabilir. Tablo Birleştirme (JOIN) işlemi
Sorgulanan veriler eğer birden fazla tabloda yer alıyorsa Join işlemi yapılır. Join işlemi yapılabilmesi için iki tabloda da ortak alanlar olmalıdır.
Örneğin
OGRENCI SINAV
NO AD SOYAD NOTLAR VIZE1 VIZE2 FINAL
1 ISMAIL ARSLAN 1 90 100 100
2 ARZU ARSLAN 4 85 90 95
3 ISRAFIL ARSLAN 3 92 80 90
Çizelge 1 Birleştirilecek iki tablo
Select No,Ad,Soyad,Fınal
From Ogrenci, Sinav
Where No=Notlar and no<'4'
Aktif Join (Bağlantılar) Üzerindeki Kısıtlamalar
Aktif bağlantılar kursorlere bağlıdırlar ve şuralarda kullanılabilirler.
• Bütün bağlantılar soldan sağa dış bağlantılardır
• Bütün bağlantılar Indexlerle desteklenirler.(Paradox veDbase için)
• Dış ısmarlama tanımlanmaz
• Her tablo(Join deki) taban tablodur.
• Sorgu tekli tablo güncelleştirmesini engelleyecek hiçbir elemente sahip değildir. Sabitler (Constraints)
Herhangi bir güncellenebilir sorguyu çalıştırmadan önce Query durum özelliğinin StmtConstarined 'ini true ayarlayarak bir tabloyu sabitleyebilirsiniz. Kayıt ekleme veya düzeltme işlemi yeni kaydın kaybolmasına neden olduğu durumlarda bir hata oluşacaktır. Hesaplanmış Alanlar
Güncellenebilen sorgular için bir ek alan sonuç alanı olarak tanımlanabilir. Bunlar hem read-only hem hesaplanış alan olurlar. BDE fonksiyonundan DbiPutField çağrısı belirtilen alanın yeniden hesaplanmasına neden olur. Bde Fonksiyon Çağrıları (Sonuç Sorguları Üzerinde)
Eğer bir sorgu kursor döndürürse o kursor BDE fonksiyonu olan DbiOpenTable 'dan dönen düşük seviyedeki yetenekleri tam olarak destekler.
Böylece filtreler ve alan haritaları ileri sonuç kümesi temizlemelerine uygulanmak için kullanılabilir. Açık tablodaki kursörlerin tersine DbiAddindex ve DbiSwitchtoIndex isimleri uygulanamamaktadır. Veri Tanımlama
Local SQL veri Tanımlama dilini oluşturma,değiştirme ,tabloları silme indeksleri oluşturmak ve sıralamak hususlarını destekler. Görünümler desteklenir.
Local SQL DDL ifadelerindeki değerler için değişkenlerin alt durumlarına izin vermez.
Aşağıdaki DDL durumları desteklenmektedir.
• CREATE TABLE Tablo oluşturma
• ALTER TABLE Tablo düzeltme
• DROP TABLE Tablo sime
• CREATE INDEX Index oluşturma
• DROP INDEX Index silme
• CREATE VIEW Görünüm oluşturma B1. Create Tables (Tablo Oluşturma)
Create Table aşağıdaki sınırlamalar olmak üzere kullanılır:
• Domain 'e dayanan sütun tanımlamaları desteklenmez
• Sabitler Paradox için PRIMARY KEY ile sınırlanmıştır.
• Dbase de sabitler desteklenmez
Örneğin aşağıdaki ifade Paradox ta Primary Key 'in soyad ve ad sütunları üzerinde sabitlenmiş bir veri tabanı tablosu oluşturur. Create Table "ISCI.DB" ( Soyad char (15), Ad char (15), Maas numeric(10,2), Bölüm smallint, Primary Key (soyad,ad) ) Aşağıdaki örnek yukarıdakinin Dbase için yazılmış olup Primary Key atlanmış halidir. Create Table "ISCI.DBF" ( Soyad char (15), Ad char (15), Maas numeric(10,2), Bölüm smallint, ) B2. Paradox ve Dbase Tablosu Oluşturma
Local SQL 'i kullanarak Paradox veya Dbase tablosu oluşturabilirsiniz. Bunu ismi verirken uzantısını belirterek yapabilirsiniz.
".DB" Paradox için
".DBF" Dbase için
Eğer yerel tablo isminin uzantısını yazmazsanız bu tablonun uzantısı BDE Configuration Utility de Sistem sayfasında Varsayılan sürücü ayarındaki tür olacaktır. B3. Alter Table (Tablo Düzeltme)
Local SQL aşağıdaki Ansi-Standard Alter Table alt kullanım deyimlerini desteklemektedir. Tabloyu değiştirirken yeni sütunlar ekleyebilirsiniz.
Sütun ekleme ALTER TABLE tablo_ismi ADD sütün_ismi veri_tipi [,ADD sütun ismi veri tipi ...]
Örneğin aşağıdaki ifade Dbase tablosuna 1 sütun ekler ALTER TABLE "Ogrenci.DBF" ADD ortalama smallint
Sütun silme ALTER TABLE tablo_ismi DROP sütün_ismi [,DROP sütun ismi ...]
Aşağıdaki ifade tablodan iki sütün siler ALTER TABLE "Ogrenci.Dbf" DROP soyad, DROP ad
ADD ve DROP işlemleri tek ifadede birlikte kullanılabilir. Örneğin aşağıdaki ifade iki sütun siler ,bir sütun ekler: ALTER TABLE "Market.DB" DROP kdv,DROP topkdv,ADD topalıs integer NOT : Query1.Open dedikten sonra SQL 'i çalıştırırsak EnoResultSet hatası verir .
NOT : Mevcut bir alanı eklersek veya olmayan bir alanı kaldırmaya çalışırsak EDBerror hatası alırız. B4. Drop Table (Tablo Silme)
Bu komut Paradox veya Dbase tablosunu siler .
Örneğin DROP TABLE "ISCI.DB"
Bu işlem tabloyu tamamen siler.
NOT : Query1.Open dedikten sonra SQL 'i çalıştırırsak EnoResultSet hatası verir . B5. Create Index (Index Oluşturma )
Create Index kullanıcılara aşağıdaki formatı kullanarak tablolara index oluşturmayı sağlar. Create Index index_adı ON tablo_adı (sütun [,sütun...])
Create Index dbase tabloları için index oluşturmanın tek yoludur.
Aşağıdaki ifade Dbase dosyası için index oluşturur. Create Index namex ON "Depo.Dbf" (malz_adi)
Paradox kullanıcıları Create Index ile ikincil indexler oluşturur. İlk index olan Primary dosyaları Primary Key belirterek tablo oluştururken Create Table ile birlikte yazılarak oluşturulur. B6. Drop Index (Index Silme)
Local SQL Ansi -Standard Drop Index ifadesi ile oluşturulmuş indexi silmenize izin verir. Bu Dbase ve Paradox dosyalarını destekler. DROP INDEX tablo ismi.index_ismi |PRIMARY
Primary anahtar kelimesi Paradox primary indexleri silmek için kullanılır. Örneğin aşağıdaki ifade ISCI.DB deki ana primary index 'i silmek için kulllanılır. Drop Index "ISCI.DB".Primary
DBase index dosyalarını veya ikincil Paradox indexlerini silmek için index ismini yazmanız gerekiyor. Drop Index "ISCI.DB".Namex
NOT : Eğer tablonuzun indexi yoksa EdbEngineError index does'nt exist mesajı verir. B7. Create View
Görüntü Select ifadesinden bir görsel ifade oluşturur. İhtiyacınız olan bu veriyi bu hareketli ızgara veya pencereyle tablo üzerinde görebilir. Bunu yaparken de teknik işlemler gözükmez. Karışık beceri gerektiren Select cümleciği yazmaktansa kullanıcı bir görünüm seçer.
Create View bir veri görünümü seçer ki bu veri tabanında ki bir veya daha fazla tablodan oluşur. Geri döndürülecek (veya görüntülenecek) satırlar kaynak tablodaki sütun listelerinden Select ifadesiyle seçilenlerce belirlenecektir. Select proje ,birleştirme işlemlerini eğer bunlar tabloysa yapılabilir.
Create View kullanıcılara aşağıdaki biçimi kullanarak tablolar üzerinde görünümler oluşturmalarına izin verir. Create View görünüm_adı [sütun_adı [,sütun_adı]...]
Create View ClientDataRepository (CDR) ile birleşiyor.
CDR görünümü tanımlayan Select cümleciğini içerir. "WITH CHECK OPTION" sabit görünümler oluşturmak için desteklenir. Görünümlerin görünümü de desteklenir. Yine de Basamakla/Yerel (cascade/local) görünüm özelliği desteklenmez. Çünkü tüm güncellenebilen görünümler sabitleri basamaklar |