Using SAS/ACCESS Interface to Teradata and PROC SQL Pass-through, you may encounter the following error:
Error: Teradata execute: Only a COMMIT WORK or null statement is legal after a DDL statement
The reason for this error is that SAS/ACCESS Interface to Teradata runs in ANSI mode. Therefore, a COMMIT must be issued after each statement that modifies the database (CREATE, INSERT, UPDATE or DROP). COMMITs do not need to be coded when using LIBNAME or implicit SQL because COMMITs are issued by the Teradata engine on your behalf.
Ex.
proc sql;
connect to teradata(user=xx password=xxx database=yyy);
execute(create table blah (age int)) by teradata;
execute(commit) by teradata;
execute(insert into blah values(45)) by teradata;
execute(insert into blah values(55)) by teradata;
execute(commit) by teradata;
quit;
As a circumvention to this, run SAS in Teradata mode. There is limited support of Teradata mode using PROC SQL. It is only supported through the use of the explicit pass-through option MODE=Teradata.
connect to teradata(user=xx password=xxx mode=teradata database=yyy);