Table-Valued Parametermetadata voor voorbereide statements

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Een applicatie kan metadata verkrijgen voor een voorbereide procedure-aanroep via SQLNumParams en SQLDescribeParam. Voor tabelwaardige parameters is DataTypePtr ingesteld op SQL_SS_TABLE. Extra metadata is beschikbaar via SQLGetDescField voor SQL_CA_SS_TYPE_NAME, SQL_CA_SS_CATALOG_NAME en SQL_CA_SS_SCHEMA_NAME.

SQL_CA_SS_TYPE_NAME, SQL_CA_SS_CATALOG_NAME en SQL_CA_SS_SCHEMA_NAME kunnen worden gebruikt met SQLColumns om kolommetadata te verkrijgen voor tabeltypen die gekoppeld zijn aan tabelwaardige parameters. In dit geval moet SQL_SOPT_SS_NAME_SCOPE op SQL_SS_NAME_SCOPE_TABLE_TYPE worden ingesteld voordat SQLColumns wordt aangeroepen. SQL_SOPT_SS_NAME_SCOPE moet dan worden teruggezet naar de standaardwaarde SQL_SS_NAME_SCOPE_TABLE wanneer de applicatie de metadata van de parameterparameters met tabelwaarde heeft opgehaald.

SQL_CA_SS_TYPE_NAME, SQL_CA_SS_CATALOG_NAME en SQL_CA_SS_SCHEMA_NAME kunnen ook worden gebruikt met door de gebruiker gedefinieerde CLR-typeparameters.

Je kunt geen metadata met tabelwaarde verkrijgen voor voorbereide statements die geen stored procedure-aanroepen zijn. Als je dit probeert, geeft de applicatie SQL_ERROR terug met SQLSTATE 42000 en het bericht "Syntax error or access violation".