Metadata Parameter Table-Valued Tambahan

Berlaku untuk: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Untuk mengambil metadata untuk parameter bernilai tabel, aplikasi memanggil SQLProcedureColumns. Untuk parameter bernilai tabel, SQLProcedureColumns mengembalikan satu baris. Dua kolom SQL Server khusus tambahan, SS_TYPE_CATALOG_NAME dan SS_TYPE_SCHEMA_NAME, telah ditambahkan untuk memberikan informasi skema dan katalog untuk jenis tabel yang terkait dengan parameter bernilai tabel. Sesuai dengan spesifikasi ODBC, SS_TYPE_CATALOG_NAME dan SS_TYPE_SCHEMA_NAME muncul sebelum semua kolom khusus driver ditambahkan dalam versi SQL Server sebelumnya, dan setelah semua kolom yang diamanatkan oleh ODBC itu sendiri.

Tabel berikut ini mencantumkan kolom yang signifikan untuk parameter bernilai tabel.

Nama kolom Jenis Data Nilai/komentar
DATA_TYPE Smallint bukan NULL SQL_SS_TABLE
TYPE_NAME WVarchar(128) bukan NULL Nama jenis parameter bernilai tabel.
COLUMN_SIZE Bilangan bulat NULL
BUFFER_LENGTH Bilangan bulat 0
DECIMAL_DIGITS Smallint NULL
NUM_PREC_RADIX Smallint NULL
NULLABLE Smallint bukan NULL SQL_NULLABLE
REMARKS Varchar NULL
COLUMN_DEF WVarchar(4000) NULL
SQL_DATA_TYPE Smallint bukan NULL SQL_SS_TABLE
SQL_DATETIME_SUB Smallint NULL
CHAR_OCTET_LENGTH Bilangan bulat NULL
ORDINAL_POSITION Bilangan bulat bukan NULL Posisi ordinal parameter.
IS_NULLABLE Varchar "YA"
SS_TYPE_CATALOG_NAME WVarchar(128) bukan NULL Katalog yang berisi definisi jenis untuk jenis tabel parameter bernilai tabel.
SS_TYPE_SCHEMA_NAME WVarchar(128) bukan NULL Skema yang berisi definisi jenis untuk jenis tabel parameter bernilai tabel.

Kolom WVarchar didefinisikan sebagai Varchar dalam spesifikasi ODBC, tetapi sebenarnya dikembalikan sebagai WVarchar di semua driver SQL SERVER ODBC terbaru. Perubahan ini dilakukan ketika dukungan Unicide ditambahkan ke spesifikasi ODBC 3.5, tetapi tidak dipanggil secara eksplisit.

Untuk mendapatkan metadata tambahan untuk parameter bernilai tabel, aplikasi menggunakan fungsi katalog SQLColumns dan SQLPrimaryKeys. Sebelum fungsi-fungsi ini dipanggil untuk parameter bernilai tabel, aplikasi harus mengatur atribut pernyataan SQL_SOPT_SS_NAME_SCOPE ke SQL_SS_NAME_SCOPE_TABLE_TYPE. Nilai ini menunjukkan bahwa aplikasi memerlukan metadata untuk jenis tabel daripada tabel aktual. Aplikasi kemudian meneruskan TYPE_NAME parameter bernilai tabel sebagai parameter TableName . SS_TYPE_CATALOG_NAME dan SS_TYPE_SCHEMA_NAME digunakan dengan parameter CatalogName dan SchemaName , masing-masing, untuk mengidentifikasi katalog dan skema untuk parameter bernilai tabel. Ketika aplikasi telah selesai mengambil metadata untuk parameter bernilai tabel, aplikasi harus mengatur SQL_SOPT_SS_NAME_SCOPE kembali ke nilai default SQL_SS_NAME_SCOPE_TABLE.

Ketika SQL_SOPT_SS_NAME_SCOPE diatur ke SQL_SS_NAME_SCOPE_TABLE, kueri ke server tertaut gagal. Panggilan ke SQLColumns atau SQLPrimaryKeys dengan katalog yang berisi komponen server akan gagal.

Lihat juga

Parameter Bernilai Tabel (ODBC)