PostgreSQL programming environment
05 Mar 2016Some databases rely heavily on their programming environment to deliver an imperative programming environment to where a developer can use high-level programming concepts such as control selection, iteration and flow.
Oracle supports PL/SQL, Sql Server supports T-SQL. PostgreSQL supports PL/pgSQL.
Prior to running through some top-level topics on the programming environment, some very important links:
Anonymous Code Blocks
Executing an anonymous code block is achieved with the DO keyword. It emulates setting up any other function, with no parameters and no return value. Because you have a function body, you are afforded the ability to use a DECLARE
section to house variables.
DO $$
BEGIN
END $$;
Adding variables to this block:
DO $$
DECLARE age INT;
BEGIN
age := 24;
IF age < 18 THEN
-- handle the below 18 case
END IF;
END$$;
Because of the parameter and return value constraints on anonymous code blocks, getting information out can be a little tricky. There are some ways that we can get some information out though.
RAISE NOTICE
allows us to present information to the console. This is considerably handy when we’re testing a block of code.
DO $$
DECLARE age INT;
BEGIN
age := 17;
IF age < 18 THEN
RAISE NOTICE 'Underage!';
END IF;
END$$;
Of course, if your code is a re-usable block you should be creating a full function for it. This takes care of any input/output parameter issues as you take full control.
Looking elsewhere
If this isn’t to your liking, you can try any of the other operating environments/languages available: