Transact-SQL Sözdizim Kuralları (Transact-SQL)
Aşağıdaki tablo Transact-SQL Başvurusu'ndaki sözdizim şemalarında kullanılan kuralları listelemekte ve açıklamaktadır.
Kural |
Kullanım amacı |
---|---|
UPPERCASE |
Transact-SQL anahtar sözcükleri. |
yatık |
Transact-SQL sözdiziminin kullanıcı tarafından girilen parametreleri. |
kalın |
Veritabanı adları, tablo adları, sütun adları, dizin adları, saklı yordamlar, yardımcı programlar, veri türü adları ve aynen gösterildiği gibi yazılması gereken metin. |
altı çizili |
Altı çizili değeri içeren yan tümce deyimden çıkarıldığında uygulanan varsayılan değeri gösterir. |
| (dikey çubuk) |
Köşeli parantezler veya küme parantezleri ile çevrili sözdizimi öğelerini ayırır. Bunlardan yalnızca birini kullanabilirsiniz. |
[ ] (köşeli parantezler) |
İsteğe bağlı sözdizimi öğeleri. Köşeli parantezleri yazmayın. |
{ } (küme parantezleri) |
Gerekli sözdizim öğeleri. Küme parantezlerini yazmayın. |
[,...n] |
Önceki öğenin n kez tekrar edilebileceğini belirtir. Tekrarlar virgül ile ayrılır. |
[...n] |
Önceki öğenin n kez tekrar edilebileceğini belirtir. Oluşma biçimleri boşluk ile ayrılır. |
; |
Transact-SQL deyimi sonlandırıcısı. Noktalı virgül SQL Server bu sürümdeki çoğu deyimde gerekli değilse de gelecek sürümlerde gerekli olacaktır. |
<etiket> ::= |
Bir sözdizimi bloğunun adı. Bu kural, uzun sözdizimi bölümlerini veya bir deyimde birden fazla konumda kullanılabilecek bir sözdizim birimini gruplamak veya etiketlemek için kullanılır. Sözdizimi bloğunun kullanılabildiği her konum, etiket açılı ayraçlarla çevrilmiş olarak gösterilir: <etiket>. Bir küme; örneğin <gruplama kümesi> bir ifadeler koleksiyonu; bir liste; örneğin <bileşik öğe listesi> ise bir küme koleksiyonudur. |
Çok Parçalı Adlar
Aksi belirtilmedikçe bir veritabanı nesnesinin adına yapılan tüm Transact-SQL başvuruları aşağıdaki biçimde dört parçalı bir ad olabilir:
server_name**.[database_name].[schema_name].**object_name
| database_name**.[schema_name].**object_name
| schema_name**.**object_name
| object_name
server_name
Bağlantılı bir sunucunun adını veya uzak bir sunucunun adını belirtir.database_name
Nesne yerel bir SQL Server örneğinde dururken bir SQL Server veritabanının adını belirtir. Nesne bağlantılı bir sunucudayken database_name bir OLE DB kataloğunu belirtir.schema_name
Nesne bir SQL Server veritabanındaysa, nesneyi içeren şemanın adını belirtir. Nesne bağlantılı bir sunucudayken schema_name bir OLE DB şemasının adını belirtir.object_name
Nesnenin adına başvurur.
Belirli bir nesneye başvururken nesneyi tanımlamak için SQL Server Veritabanı Altyapısı sunucusunu, veritabanını ve şemasını her zaman belirtmeniz gerekmez. Ancak, nesne bulunamazsa bir hata döndürülür.
[!NOT]
Ad çözümleme hatalarından kaçınmak için şema kapmasındaki bir nesneyi belirttiğiniz her durumda şema adını da belirtmenizi öneririz.
Aradaki düğümleri çıkarmak için, bu konumları göstermek üzere nokta işareti kullanın. Aşağıdaki tabloda, nesne adlarının geçerli biçimlerini gösterilmektedir.
Nesne başvurusu biçimi |
Açıklama |
---|---|
server.database.schema.object |
Dört parçalı ad. |
server.database..object |
Şema adı yok. |
server..schema.object |
Veritabanı adı yok. |
server...object |
Veritabanı ve şema adı yok. |
database.schema.object |
Sunucu adı yok. |
database..object |
Sunucu ve şema adı yok. |
schema.object |
Sunucu ve veritabanı adı yok. |
object |
Veritabanı ve şema adı yok. |
Kod Örneği Kuralları
Aksi belirtilmedikçe, Transact-SQL Başvurusu'nda sağlanan örnekler SQL Server Management Studio ve aşağıdaki seçenekler için varsayılan ayarları kullanılarak sınanmıştır:
ANSI_NULLS
ANSI_NULL_DFLT_ON
ANSI_PADDING
ANSI_WARNINGS
CONCAT_NULL_YIELDS_NULL
QUOTED_IDENTIFIER
Transact-SQL Başvurusu'ndaki çoğu kod örneği, büyük/küçük harfe duyarlı bir sıralama düzeninde çalışan sunucularda sınanmıştır. Sınama sunucuları tipik olarak ANSI/ISO 1252 kod sayfasında çalışıyordu.
Çoğu kod örneği Unicode karakter dizesi sabitlerinin önüne N harfini koymaktadır. N öneki olmadan dize veritabanının varsayılan kod sayfasına dönüştürülür. Varsayılan kod sayfası bazı karakterleri tanımayabilir.