Defaulting a parameter value :
Example:
create macro MY_SUPPORT_MACROS.CAL_SPACE
( DATABASENAME VARCHAR(30) DEFAULT 'MY_TEST_DB' --> if we don’t provide any value for database name it will pick up 'MY_TEST_DB' as the default database name
,TABLENAME VARCHAR(30))
AS
(select sum(currentperm) as currentperm_in_kb from DBC.tablesize where
DATABASENAME =:DATABASENAME
AND
TABLENAME = :TABLENAME;
);
Passing NULL values to a MACRO:
To pass NULL value we can use the keyword 'NULL'
OR
Use positional comma's to implicitly pass null.
EXEC MY_TEST_MACRO('value1',NULL);
OR
EXEC MY_TEST_MARCO2('value1',,'value3');
from http://teradatafaqs.blogspot.hk/