Aracılığıyla paylaş


Ek Table-Valued Parametre Meta Verileri

Şunlar için geçerlidir: Sql ServerAzure SQL VeritabanıAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Azure SQL Veritabanı

Tablo değerli bir parametrenin meta verilerini almak için bir uygulama SQLProcedureColumns'ı çağırır. Tablo değerli bir parametre için SQLProcedureColumns tek bir satır döndürür. Tablo değerli parametrelerle ilişkili tablo türleri için şema ve katalog bilgileri sağlamak üzere sql server'a özgü iki sütun (SS_TYPE_CATALOG_NAME ve SS_TYPE_SCHEMA_NAME) eklenmiştir. ODBC belirtimine uygun olarak, SS_TYPE_CATALOG_NAME ve SS_TYPE_SCHEMA_NAME, SQL Server'ın önceki sürümlerinde eklenen sürücüye özgü tüm sütunlardan önce ve ODBC tarafından zorunlu tutulan tüm sütunlardan sonra görünür.

Aşağıdaki tabloda, tablo değerli parametreler için önemli olan sütunlar listelenir.

Sütun adı Veri tipi Değer/açıklamalar
DATA_TYPE Smallint not NULL SQL_SS_TABLE
TYPE_NAME WVarchar(128) NULL değil Tablo değerli parametresinin tür adı.
COLUMN_SIZE Tam sayı SIFIR
BUFFER_LENGTH Tam sayı 0
DECIMAL_DIGITS Smallint SIFIR
NUM_PREC_RADIX Smallint SIFIR
NULLABLE Smallint not NULL SQL_NULLABLE
AÇIKLAMALAR Varchar SIFIR
COLUMN_DEF WVarchar(4000) SIFIR
SQL_DATA_TYPE Smallint not NULL SQL_SS_TABLE
SQL_DATETIME_SUB Smallint SIFIR
CHAR_OCTET_LENGTH Tam sayı SIFIR
ORDINAL_POSITION Tamsayı NULL değil Parametresinin sıralı konumu.
IS_NULLABLE Varchar "EVET"
SS_TYPE_CATALOG_NAME WVarchar(128) NULL değil Tablo değerli parametresinin tablo türü için tür tanımını içeren katalog.
SS_TYPE_SCHEMA_NAME WVarchar(128) NULL değil Tablo değerli parametresinin tablo türü için tür tanımını içeren şema.

WVarchar sütunları ODBC belirtiminde Varchar olarak tanımlanır, ancak aslında tüm son SQL Server ODBC sürücülerinde WVarchar olarak döndürülür. Bu değişiklik, ODBC 3.5 belirtimine Unicode desteği eklendiğinde yapılmıştır, ancak açıkça çağrılmamıştır.

Tablo değerli parametreler için ek meta veriler elde etmek için, bir uygulama SQLColumns ve SQLPrimaryKeys katalog işlevlerini kullanır. Bu işlevler tablo değerli parametreler için çağrılmadan önce uygulamanın SQL_SOPT_SS_NAME_SCOPE deyimi özniteliğini SQL_SS_NAME_SCOPE_TABLE_TYPE olarak ayarlaması gerekir. Bu değer, uygulamanın gerçek tablo yerine bir tablo türü için meta veriler gerektirdiğini gösterir. Uygulama daha sonra tablo değerli parametresinin TYPE_NAME TableName parametresi olarak geçirir. SS_TYPE_CATALOG_NAME ve SS_TYPE_SCHEMA_NAME, tablo değerli parametrenin kataloğunu ve şemasını tanımlamak için sırasıyla CatalogName ve SchemaName parametreleriyle birlikte kullanılır. Bir uygulama tablo değerli parametreler için meta verileri almayı bitirdiğinde, SQL_SOPT_SS_NAME_SCOPE varsayılan SQL_SS_NAME_SCOPE_TABLE değerine geri ayarlamalıdır.

SQL_SOPT_SS_NAME_SCOPE SQL_SS_NAME_SCOPE_TABLE olarak ayarlandığında, bağlı sunuculara yapılan sorgular başarısız olur. Sunucu bileşeni içeren bir katalogla SQLColumns veya SQLPrimaryKeys çağrıları başarısız olur.

Ayrıca Bkz.

Table-Valued Parametreleri (ODBC)