Introduction
DO blocks let you run small pieces of code inside the database without creating a permanent function.
Jump into concepts and practice - no test required
DO $$ BEGIN -- your code here END; $$ LANGUAGE plpgsql;
DO $$ BEGIN RAISE NOTICE 'Hello, world!'; END; $$ LANGUAGE plpgsql;
DO $$ BEGIN UPDATE employees SET salary = salary * 1.1 WHERE department = 'Sales'; END; $$ LANGUAGE plpgsql;
DO $$ DECLARE count_employees INTEGER; BEGIN SELECT COUNT(*) INTO count_employees FROM employees; RAISE NOTICE 'Total employees: %', count_employees; END; $$ LANGUAGE plpgsql;
DO $$ BEGIN RAISE NOTICE 'Starting anonymous block'; PERFORM pg_sleep(1); -- wait for 1 second RAISE NOTICE 'Finished anonymous block'; END; $$ LANGUAGE plpgsql;
DO block in PostgreSQL?DO $$ BEGIN RAISE NOTICE 'Hello, PostgreSQL!'; END $$ LANGUAGE plpgsql;
DO $$ BEGIN PERFORM 1/0; END $$ LANGUAGE plpgsql;
users to set active = false for all users who haven't logged in for over a year. Which DO block correctly performs this task?