Naming Behavior When Creating DBMS Objects

The tables in this section illustrate how SAS/ACCESS handles variable names when it creates such DBMS objects as tables and views. This information applies generally to all interfaces. However, in some cases you do not need to specify these options because the option default values are DBMS-specific. For details, see the documentation for your DBMS. Available examples illustrate different types of naming actions and defaults.

SAS Variable Names to DBMS Column Names When Creating Tables

SAS Variable Name as Input

Desired DBMS Column Name

Options

Any SAS variable name, such as Miles

Default DBMS column name (normalized to follow the DBMS's naming conventions), such as MILES

PRESERVE_COL_NAMES=NO

A case-sensitive SAS variable name, such as Miles

Case-sensitive DBMS column name, such as Miles

PRESERVE_COL_NAMES=YES

A SAS variable name with characters that are not valid in a normalized SAS name, such as Miles-to-Go

Case-sensitive DBMS column name that matches the SAS name, such as Miles-to-Go

PROC SQL DQUOTE=ANSI and PRESERVE_COL_NAMES=YES or, in a DATA or PROC step, use a SAS name literal and PRESERVE_COL_NAMES=YES and VALIDVARNAME=ANY

SAS Data Set Names to DBMS Table Names

SAS Data Set Name as Input

Desired DBMS Table Name

Options

Any SAS data set name, such as Payroll

Default DBMS table name (normalized to follow the DBMS's naming conventions), such as PAYROLL

PRESERVE_TAB_NAMES=NO

Case-sensitive SAS data set name, such as Payroll

Case-sensitive DBMS table name, such as Payroll

PRESERVE_TAB_NAMES=YES

Case-sensitive SAS data set name with characters that are not valid in a normalized SAS name, such as Payroll-for-QC

Case-sensitive DBMS table name that matches the SAS name, such as Payroll-for-QC

PROC SQL DQUOTE=ANSI and PRESERVE_TAB_NAMES=YES or, in a DATA or PROC step, use a SAS name literal and PRESERVE_TAB_NAMES=YES

Last updated: February 3, 2026