Freigeben über


Tabellenwertparameter (ODBC)

Die ODBC-Unterstützung für Tabellenwertparameter ermöglicht einer Clientanwendung die effizientere Versendung von parametrisierten Daten an einen Server, indem mehrere Zeilen über einen Aufruf an den Server gesendet werden.

Informationen zu Tabellenwertparametern auf dem Server finden Sie unter Tabellenwertparameter (Datenbankmodul).

In ODBC gibt es zwei Methoden zum Versenden von Tabellenwertparametern an den Server:

  • Alle Tabellenwertparameter-Daten können sich im Arbeitsspeicher befinden, wenn SQLExecDirect oder SQLExecute aufgerufen wird. Wenn es mehrere Zeilen im Tabellenwert gibt, werden diese Daten in Arrays gespeichert.

  • Eine Anwendung kann Data-at-Execution für einen Tabellenwertparameter angeben, wenn SQLExecDirect oder SQLExecute aufgerufen wird. In diesem Fall können Datenzeilen für den Tabellenwertparameter in Batches oder einzeln bereitgestellt werden, um die Speicheranforderungen zu reduzieren.

Die erste Option aktiviert gespeicherte Prozeduren, um mehr Geschäftslogik zu kapseln. Beispielsweise könnte eine einzeln gespeicherte Prozedur eine gesamte Bestellungseingabetransaktion kapseln, wenn die Bestellartikel als Tabellenwertparameter übergeben werden. Diese Option ist sehr effizient, da nur ein einzelner Roundtrip zum Server erforderlich ist. Alternativ könnten Sie verschiedene Prozeduren verwenden, um die Bestellungskopfzeile und die Bestellartikel separat zu behandeln. In diesem Fall wäre jedoch weiterer Code und ein komplexerer Vertrag zwischen Client und Server erforderlich.

Die zweite Methode stellt einen effizienten Mechanismus für Massenvorgänge mit sehr großen Datenmengen bereit. Dies ermöglicht es einer Anwendung, Datenzeilen zum Server zu streamen, ohne sie zuvor alle im Arbeitsspeicher puffern zu müssen.

Beim Erstellen der Tabellenvariablen können Sie Einschränkungen und Primärschlüssel erstellen. Einschränkungen sind eine gute Möglichkeit sicherzustellen, dass die Daten in einer Tabelle bestimmte Anforderungen erfüllen.

In diesem Abschnitt