MULTISTMT= LIBNAME Statement Option

Specifies whether insert statements are sent to Teradata one at a time or in a group.

Valid in: SAS/ACCESS LIBNAME statement
Category: Data Set Control
Default: NO
Restriction: You currently cannot use MULTISTMT= with ERRLIMIT=.
Data source: Teradata
See: MULTISTMT= data set option, QUERY_BAND= data set option, TPT_APPL_PHASE= data set option, TPT_BUFFER_SIZE= data set option, TPT_DATA_ENCRYPTION= data set option, TPT_DATA_ENCRYPTION= LIBNAME option, TPT_ERROR_TABLE_1= data set option, TPT_ERROR_TABLE_2= data set option, TPT_LOG_TABLE= data set option, TPT_MAX_SESSIONS= LIBNAME option, TPT_MAX_SESSIONS= data set option, TPT_MIN_SESSIONS= data set option, TPT_PACK= data set option, TPT_PACKMAXIMUM= data set option, TPT_RESTART= data set option, TPT_TRACE_LEVEL= data set option, TPT_TRACE_LEVEL_INF= data set option, TPT_TRACE_OUTPUT= data set option, TPT_UNICODE_PASSTHRU= LIBNAME option

Table of Contents

Syntax

MULTISTMT=YES | NO

Syntax Description

YES

use the TPT stream operator and use the maximum buffer size available for the Teradata Client TTU version and the Teradata DBS version that is being accessed.

NO

send inserts to Teradata one row at a time.

Details

When you request multistatement Inserts, SAS first determines how many insert statements it can send to Teradata. Several factors determine the actual number of statements that SAS can send. For example, SAS determines these values:

  • SQL insert statements that can fit in the available buffer.
  • data rows that can fit in the available buffer.
  • Inserts that the Teradata server chooses to accept.

When you need to insert large volumes of data, you can significantly improve performance by setting MULTISTMT=YES. This avoids inserting only a single row at a time.

If you also specify DBCOMMIT=, SAS uses the smaller of these values: the DBCOMMIT= value or the number of insert statements that can fit in a buffer as the number of insert statements to send together at one time.

Last updated: February 3, 2026