Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
JDBC sürücüsünü indirin
SQL Server için Microsoft JDBC Sürücüsü, JDBC API'sinde tanımlandığı gibi SQL kaçış dizilerinin kullanımını destekler. Kaçış dizileri, sürücüye SQL dizesinin kaçış bölümünün farklı işlenmesi gerektiğini bildirmek için SQL deyimi içinde kullanılır. JDBC sürücüsü bir SQL dizesinin kaçış bölümünü işlediğinde, dizenin bu bölümünü SQL Server'ın anladığı SQL koduna çevirir.
JDBC API'sinin gerektirdiği beş tür kaçış dizisi vardır ve bunların tümü JDBC sürücüsü tarafından desteklenir:
- LIKE joker karakterli ifadeler
- İşlevlerin yönetimi
- Tarih ve saat sabitleri
- Saklı yordam çağrıları
- Dış bağlantılar
- Kaçış sözdizimini sınırla
JDBC sürücüsü tarafından kullanılan kaçış dizisi söz dizimi aşağıdaki gibidir:
{keyword ...parameters...}
Uyarı
JDBC sürücüsü için SQL kaçış işlemesi her zaman açıktır.
Aşağıdaki bölümlerde beş kaçış dizisi türü ve bunların JDBC sürücüsü tarafından nasıl desteklendiği açıklanmaktadır.
LIKE joker karakterli ifadeler
JDBC sürücüsü, LIKE yan tümcesi joker karakterlerini literal olarak kullanmak için {escape 'escape character'} söz dizimini destekler. Örneğin, aşağıdaki kod col3 için değerler döndürür; burada sütun2 değeri tam anlamıyla bir alt çizgiyle başlar (joker karakter kullanımıyla değil).
ResultSet rst = stmt.executeQuery("SELECT col3 FROM test1 WHERE col2
LIKE '\\_%' {escape '\\'}");
Uyarı
Kaçış dizisi SQL deyiminin sonunda olmalıdır. Bir komut dizesindeki birden çok SQL deyimi için kaçış dizisinin her ilgili SQL deyiminin sonunda olması gerekir.
İşlevlerin yönetimi
JDBC sürücüsü, SQL deyimlerinde aşağıdaki söz dizimiyle işlev kaçış dizilerini destekler:
{fn functionName}
burada functionName JDBC sürücüsü tarafından desteklenen bir işlevdir. Örneğin:
SELECT {fn UCASE(Name)} FROM Employee
Aşağıdaki tabloda, bir işlev kaçış dizisi kullanılırken JDBC sürücüsü tarafından desteklenen çeşitli işlevler listelenmektedir:
| Dize İşlevleri | Sayısal İşlevler | Datetime İşlevleri | Sistem İşlevleri |
|---|---|---|---|
| ASCII CHAR CONCAT DIFFERENCE INSERT LCASE LEFT Uzunluk BULUN LTRIM TEKRAR REPLACE RIGHT RTRIM SOUNDEX SPACE SUBSTRING UCASE |
ABS ACOS ASIN ATAN ATAN2 CEILING COS BEŞİK Dereceler EXP FLOOR KAYIT LOG10 MOD Pİ POWER RADIANS RAND ROUND SIGN SIN SQRT TAN Kısaltmak |
CURDATE CURTIME Gün Adı DAYOFMONTH HAFTANINGÜNÜ YILIN_GÜNÜ ÖZET HOUR MINUTE MONTH MONTHNAME ŞİMDİ ÇEYREK SECOND TIMESTAMPADD TIMESTAMPDIFF HAFTA YEAR |
DATABASE IFNULL USER |
Uyarı
Veritabanının desteklemediği bir işlev kullanmaya çalışırsanız bir hata oluşur.
Tarih ve saat sabitleri
Tarih, saat ve zaman damgası değişmez değerleri için kaçış sözdizimi aşağıdaki gibidir:
{literal-type 'value'}
burada literal-type aşağıdakilerden biridir:
| Literal Türü | Description | Değer Biçimi |
|---|---|---|
| d | Date | yyyy-mm-dd |
| t | Time | hh:mm:ss |
| ts | TimeStamp | yyyy-mm-dd hh:mm:ss[.f...] |
Örneğin:
UPDATE Orders SET OpenDate={d '2005-01-31'}
WHERE OrderID=1025
Saklı yordam çağrıları
JDBC sürücüsü, {? = call proc_name(?,...)} ve {call proc_name(?,...)} kaçış söz dizimlerini, bir dönüş parametresi işleyip işlemeyeceğinize bağlı olarak saklı yordam çağrıları için destekler.
Prosedür, veritabanında depolanan yürütülebilir bir nesnedir. Genellikle, önceden derlenmiş bir veya daha fazla SQL deyimidir. Saklı yordamı çağırmak için kaçış dizisi söz dizimi aşağıdaki gibidir:
{[?=]call procedure-name[([parameter][,[parameter]]...)]}
burada procedure-name saklı yordamın adını ve parameter saklı yordam parametresini belirtir.
Kaçış dizisini call saklı yordamlarla kullanma hakkında daha fazla bilgi için bkz. Saklı Yordamlarla Deyimleri Kullanma.
Dış bağlantılar
JDBC sürücüsü SQL92 sol, sağ ve tam dış birleştirme türlerini destekler. Dış birleşimler için kaçış dizisi aşağıdaki gibidir:
{oj outer-join}
dış birleştirme işlemi şöyledir:
table-reference {LEFT | RIGHT | FULL} OUTER JOIN
{table-reference | outer-join} ON search-condition
burada table-reference bir tablo adıdır ve search-condition tablolar için kullanmak istediğiniz birleştirme koşuludur.
Örneğin:
SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status
FROM {oj Customers LEFT OUTER JOIN
Orders ON Customers.CustID=Orders.CustID}
WHERE Orders.Status='OPEN'
Aşağıdaki dış birleşim kaçış dizileri JDBC sürücüsü tarafından desteklenir:
- Sol dış birleşimler
- Sağ dış birleşimler
- Tam dış birleşimler
- İç içe geçen dış birleşimler
Kaçış sözdizimini sınırla
Uyarı
LIMIT kaçış sözdizimi, yalnızca JDBC 4.1 veya üzeri kullanıldığında SQL Server için Microsoft JDBC Sürücüsü 4.2 (veya üzeri) tarafından desteklenir.
LIMIT için kaçış söz dizimi aşağıdaki gibidir:
LIMIT <rows> [OFFSET <row offset>]
Kaçış söz diziminin iki bölümü vardır: <satırlar> zorunludur ve döndürülecek satır sayısını belirtir. OFFSET ve <satır kaydırması> isteğe bağlıdır ve satır döndürmeye başlamadan önce geçilmesi gereken satır sayısını belirtir. JDBC sürücüsü, sorguyu LIMIT yerine TOP kullanacak şekilde dönüştürerek yalnızca zorunlu bölümü destekler. SQL Server LIMIT yan tümcesini desteklemez. JDBC sürücüsü isteğe bağlı <satır uzaklığını> desteklemez ve kullanılırsa sürücü bir özel durum oluşturur.