15.00 - Using the ASTERISK (*) Character in Macros - Teradata Database

Teradata Database SQL Data Definition Language Detailed Topics

Teradata Database
Programming Reference

Using the ASTERISK (*) Character in Macros

A macro defined using the ASTERISK (*) character is forever bound to the definitions of any tables it references as they were defined at the time the macro was created or replaced.

For example, consider the following macro:

     CREATE MACRO get_emp AS (
       SELECT * 
       FROM employee;)

If a column is later added to or removed from the employee table, the following statement still returns the number of columns that existed in employee when get_emp was defined:

     EXEC get_emp;

If columns have been dropped or data types have been changed, performing the macro can result in an error message or unexpected behavior.