SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
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); SELECT * FROM serial_generator(-23, 12);
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear