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.
Parametre, SQL deyimindeki bir değişkendir. Örneğin, Bir Parts tablosunun PartID, Description ve Price adlı sütunları olduğunu varsayalım. Parametresiz bir parça eklemek için şöyle bir SQL deyimi oluşturmanız gerekir:
INSERT INTO Parts (PartID, Description, Price) VALUES (2100, 'Drive shaft', 50.00)
Bu deyim yeni bir sipariş eklese de, eklenecek değerler uygulamada sabit kodlanamadığından sipariş girişi uygulaması için iyi bir çözüm değildir. Bunun alternatifi, eklenecek değerleri kullanarak sql deyimini çalışma zamanında oluşturmaktır. Çalışma zamanında deyim oluşturmanın karmaşıklığı nedeniyle bu da iyi bir çözüm değildir. En iyi çözüm , VALUES yan tümcesinin öğelerini soru işaretleri (?) veya parametre işaretçileriyle değiştirmektir:
INSERT INTO Parts (PartID, Description, Price) VALUES (?, ?, ?)
Parametre işaretçileri daha sonra uygulama değişkenlerine bağlıdır. Yeni bir satır eklemek için uygulamanın yalnızca değişkenlerin değerlerini ayarlaması ve deyimini yürütmesi gerekir. Sürücü daha sonra değişkenlerin geçerli değerlerini alır ve veri kaynağına gönderir. Deyimi birden çok kez yürütülecekse, uygulama deyimini hazırlayarak işlemi daha da verimli hale getirebilir.
Az önce gösterilen deyim, yeni bir satır eklemek için bir sipariş giriş uygulamasında sabit kodlanmış olabilir. Ancak, parametre işaretçileri dikey uygulamalarla sınırlı değildir. Herhangi bir uygulama için, metinden ve metne dönüştürme işlemlerinden kaçınarak çalışma zamanında SQL ifadeleri oluşturmanın zorluğunu azaltır. Örneğin, az önce gösterilen parça kimliği büyük olasılıkla uygulamada tamsayı olarak depolanır. SQL deyimi parametre işaretçileri olmadan oluşturulursa, uygulamanın parça kimliğini metne dönüştürmesi ve veri kaynağının bunu bir tamsayıya dönüştürmesi gerekir. Bir parametre işaretçisi kullanarak uygulama, parça kimliğini sürücüye bir tamsayı olarak gönderebilir ve genellikle bunu veri kaynağına tamsayı olarak gönderebilir. Bu, iki dönüştürmeden tasarruf sağlar. Uzun veri değerleri için bu çok önemlidir, çünkü bu tür değerlerin metin biçimleri genellikle bir SQL deyiminin izin verilen uzunluğunu aşıyor.
Parametreler yalnızca SQL deyimlerindeki belirli yerlerde geçerlidir. Örneğin, seçim listesinde ( SELECT deyimi tarafından döndürülecek sütunların listesi) izin verilmez ve parametre türünü belirlemek mümkün olmadığından, eşittir işareti (=) gibi bir ikili işlecin her iki işleneni olarak da izin verilmez. Parametreler genellikle yalnızca Veri İşleme Dili (DML) deyimlerinde geçerlidir, Veri Tanım Dili (DDL) deyimlerinde geçerli değildir. Daha fazla bilgi için bkz. Ek C: SQL Dil Bilgisi'nde Parametre İşaretçileri .
SQL deyimi bir yordam çağırdığında adlandırılmış parametreler kullanılabilir. Adlandırılmış parametreler, SQL deyimindeki konumlarıyla değil adlarıyla tanımlanır. SQLBindParameter çağrısıyla bağlanabilirler, ancak parametre SQLBindParameter'ınParameterNumber bağımsız değişkeni tarafından değil, IPD'nin SQL_DESC_NAME alanıyla (uygulama parametresi tanımlayıcısı) tanımlanır. SQLSetDescField veya SQLSetDescRec çağrıları yapılarak da bağlanabilirler. Adlandırılmış parametreler hakkında daha fazla bilgi için, bu bölümün devamında yer alan Adla Parametreleri Bağlama (Adlandırılmış Parametreler) bölümüne bakın. Tanımlayıcılar hakkında daha fazla bilgi için bkz. Tanımlayıcılar.
Bu bölüm aşağıdaki konuları içerir.