26/12/2014

[Teradata]Parameterized Macro

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/