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.
Şunlar için geçerlidir:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitik Platform Sistemi (PDW)
Microsoft Fabric'te SQL veritabanı
OLE DB sürücüsünü indirme
Tablo değerli parametrelerle bir komutu çalıştırmak iki aşama gerektirir:
Parametre türlerini belirtin.
Parametre verilerini bağlayın.
Table-Valued Parametre Spesifikasyonu
Tüketici, tablo değerli parametrenin türünü belirleyebilir. Bu bilgi, tablo değerli parametre tipi adını içerir. Ayrıca, kullanıcı tarafından tanımlanan tablo tipi, bağlantı için mevcut varsayılan şemada değilse, şema adını da içerir. Sunucu desteğine bağlı olarak, tüketici ayrıca sütunların sıralanması gibi isteğe bağlı meta veri bilgileri de belirtebilir ve belirli sütunlar için tüm satırların varsayılan değerlere sahip olduğunu belirtebilir.
Tablo değerli bir parametre belirtmek için tüketici ISSCommandWithParameter::SetParameterInfo'yu çağırır ve isteğe bağlı olarak ISSCommandWithParameters::SetParameterProperties ayarlar. Tablo değerli bir parametre için, DBPARAMBINDINFO yapısındaki pwszDataSourceType alanının değeri DBTYPE_TABLE. ulParamSize alanı, uzunluğun bilinmediğini göstermek için ~0 olarak ayarlanmıştır. Tablo değerli parametreler için şema adı, tip adı, sütun sırası ve varsayılan sütunlar gibi özel özellikler ISSCommandWithParameters::SetParameterProperties aracılığıyla ayarlanabilir.
Table-Valued Parametre Bağlama
Tablo değerli bir parametre, herhangi bir satır kümesi nesnesi olabilir. Sağlayıcı, bu nesneden okurken uygulama sırasında sunucuya tablo değerli parametreler gönderir.
Tablo değerli parametreyi bağlamak için tüketici IAccessor::CreateAccessor adresini çağırır. Tablo değerli parametre için DBBINASYON yapısının wType alanı DBTYPE_TABLE olarak ayarlanmıştır. DBBINDING yapısının pObject üyesi NULL değildir ve pObject'iniid üyesi IID_IRowset veya herhangi bir tablo değerli parametre sırası nesne arayüzlerine ayarlanmıştır. DBBINASYON yapısındaki kalan alanlar, akışlı BLOB'lar için olduğu gibi ayarlanmalıdır.
Tablo değerli parametre ve tablo değerli parametre ile ilişkili satır kümesi nesnesi için bağlamalarda aşağıdaki kısıtlamalar geçerlidir:
Tablo değerli parametre satır kümesi sütun verileri için izin verilen tek durum değerleri DBSTATUS_S_ISNULL ve DBSTATUS_S_OK'dir. DBSTATUS_S_DEFAULT bir başarısızlıkla sonuçlanır ve bağlı durum değeri DBSTATUS_E_BADSTATUS olarak ayarlanır.
Tablo değerli bir parametre DBSTATUS_S_DEFAULT durumu ile işaretlenebilir. Geçerli olan tek değerler DBSTATUS_S_DEFAULT ve DBSTATUS_S_OK. Durum DBSTATUS_S_DEFAULT olarak ayarlandığında, tablo değerli parametrenin değeri boş bir tabloya karşılık gelir.
Tablo değerli parametrelerdeki (kimlik veya hesaplanan sütunlar) yalnızca okunabilir sütunlar, SSPROP_PARAM_TABLE_DEFAULT_COLUMNS özelliği kullanılarak varsayılan olarak işaretlenmelidir. Varsayılan değeri olan sütunlar, belirli bir tablo değerli parametre için sütunun veri değerleri için varsayılan değerin kullanılabilmesini sağlamak amacıyla SSPROP_PARAM_TABLE_DEFAULT_COLUMNS özellik aracılığıyla varsayılan olarak işaretlenmelidir. Sağlayıcı, varsayılan olarak işaretlenen sütunlar için sınırlandırılan veri değerlerini görmezden gelir.
Veriler, DBPROP_COL_AUTOINCREMENT veya SSPROP_COL_COMPUTED olan sütunlar için sunucuya gönderilir, SSPROP_PARAM_TABLE_DEFAULT da ayarlanmadıkça.
Ayrıca Bkz.
Table-Valued Parametreleri (OLE DB)
Table-Valued Parametrelerini Kullan (OLE DB)