17.10 - Using the ASTERISK (*) Character in Macros - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL Data Definition Language Detailed Topics

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-27
dita:mapPath
imq1591724555718.ditamap
dita:ditavalPath
imq1591724555718.ditaval
dita:id
jbg1472252759029

A macro defined using the ASTERISK (*) character is 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.