Table-Valued Parâmetros (ODBC)

Aplica-se a: SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)

O suporte ODBC para parâmetros de tabela permite que uma aplicação cliente envie dados parametrizados para o servidor de forma mais eficiente, enviando várias linhas para o servidor com uma única chamada.

Para informações sobre parâmetros com valores de tabela no servidor, veja Usar Table-Valued Parâmetros (Database Engine).

No ODBC, existem duas formas de enviar parâmetros de valores de tabela para o servidor:

  • Todos os dados de parâmetros de tabela podem estar na memória no momento em que o SQLExecDirect ou SQLExecute é chamado. Estes dados são armazenados em arrays se existirem várias linhas no valor da tabela.

  • Uma aplicação pode especificar data-at-execution para um parâmetro com valor de tabela quando é chamado SQLExecDirect ou SQLExecute. Neste caso, linhas de dados para o valor da tabela podem ser fornecidas em lotes, ou uma de cada vez, para reduzir os requisitos de memória.

A primeira opção permite que os procedimentos armazenados encapsulem mais lógica de negócio. Por exemplo, um único procedimento armazenado poderia encapsular toda uma transação de entrada de ordem quando os itens da encomenda são passados como um parâmetro com valor de tabela. Esta opção é muito eficiente, pois só é necessária uma única ida e volta ao servidor. Em alternativa, pode usar procedimentos diferentes para tratar o cabeçalho da encomenda e os itens da encomenda separadamente, o que exigiria mais código e um contrato mais complexo entre o cliente e o servidor.

O segundo método fornece um mecanismo eficiente para operações em massa com grandes quantidades de dados. Isto permite que uma aplicação transmita linhas de dados para o servidor sem ter de os armazenar todos em memória primeiro.

Podes criar restrições e chaves primárias quando crias a variável da tabela. As restrições são uma boa forma de garantir que os dados numa tabela cumprem requisitos específicos.

Na presente seção

Utilizações dos Parâmetros de Table-Valued ODBC
Descreve os cenários principais de utilizador para parâmetros de tabela e ODBC.

ODBC SQL Type para parâmetros Table-Valued
Descreve o SQL_SS_TABLE tipo. Este é um novo tipo de SQL ODBC que suporta parâmetros com valores de tabela.

Table-Valued Campos Descritores de Parâmetro
Descreve campos de descritores que suportam parâmetros de valores de tabela.

Campos de Descritores para Table-Valued Colunas Constituintes de Parâmetro
Descreve campos de descritores que têm significado para parâmetros com valores de tabela.

Table-Valued Campos de Registo de Diagnóstico de Parâmetro
Descreve dois campos de diagnóstico que foram adicionados a registos de diagnóstico para suportar parâmetros de valores de tabela.

Atributos da Instrução que Afetam Table-Valued Parâmetros
Descreve um novo campo de cabeçalho de descritor que permite endereçar colunas de parâmetros com valores de tabela.

Ligação e Transferência de Dados de Table-Valued Parâmetros e Valores de Coluna
Descreve a ligação de parâmetros e como passar um parâmetro com valores de tabela ao servidor.

Table-Valued Metadados de Parâmetros para Instruções Preparadas
Descreve como uma aplicação pode obter metadados para uma chamada de procedimento preparada.

Metadados Adicionais de Parâmetros Table-Valued
Descreve como usar SQLProcedureColumns, SQLTables e SQLColumns para recuperar metadados de um parâmetro com valores em tabela.

Table-Valued Conversão de Dados de Parâmetros e Outros Erros e Avisos
Descreve como processar erros nos valores das colunas de parâmetros de tabelas.

Compatibilidade entre versões
Descreve conflitos que podem ocorrer quando parâmetros com valores de tabela são usados por um cliente ou servidor de uma versão anterior ao SQL Server 2008 (10.0.x).

Resumo da API de parâmetros ODBC Table-Valued
Lista as funções ODBC que suportam parâmetros com valores de tabela.