A macro is created to execute a single or a set of SQL statements in a single execution. Each time the macro is run all of the SQL statements present inside the macro are executed and results are returned after the end of all the SQL present inside the macro.

Why do we need a macro? If there is a set of frequently used SQL statement which are being repeatedly executed, this set of SQL statement can be packed inside block and can be defined as a MACRO. A macro can include also execute another macro.

To create a macro to select today’s date:

CREATE MACRO today_date as (SELECT date;);

To execute a macro: EXEC  today_date;To drop a macro:DROP macro today_date;A macro can also be used to insert row into tables with more than one input. Here is an example of a macro with multiple inputs which inserts a row to an emp table. Make sure that the table already exists.CREATE MACRO insert_into_emp
(
 emp_no INTEGER,
 dept_no VARCHAR(12),
 first_name CHAR (20),
 last_name”CHAR (20),
 salary” INTEGER
)
AS
(
INSERT INTO emp
(emp_no, dept_no, first_name, last_name, salary)
values (:emp_no, :dept_no, :first_name, :last_name, :salary)
);

Our Random Articles

More Links