Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
CREATE OR REPLACE FUNCTION serial_generator(start_val_inc INTEGER, last_val_ex INTEGER) RETURNS TABLE (serial_generator BIGINT) AS $$ BEGIN EXECUTE 'CREATE SEQUENCE serial START WITH ' || start_val_inc || 'MINVALUE -10'; RETURN QUERY (WITH RECURSIVE sequence_(n) AS ( VALUES (nextval('serial')) UNION ALL SELECT nextval('serial') FROM sequence_ WHERE n < last_val_ex - 1 ) SELECT * FROM sequence_); EXECUTE 'DROP SEQUENCE serial'; END; $$ LANGUAGE plpgsql; SELECT * FROM serial_generator(0, 20); SELECT * FROM serial_generator(-1, 20); SELECT * FROM serial_generator(-10, 20);

Stuck with a problem? Got Error? Ask AI support!

Copy Clear