Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save timonv/1239f75727bc93b9c3fc to your computer and use it in GitHub Desktop.
Save timonv/1239f75727bc93b9c3fc to your computer and use it in GitHub Desktop.
CREATE FUNCTION create_tr_sequence_for_ca() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
execute format('create sequence tr_seq_%s', NEW.id);
RETURN NEW;
END
$$;
CREATE TRIGGER create_tr_sequence_for_ca AFTER INSERT ON client_accounts FOR EACH ROW EXECUTE PROCEDURE create_tr_sequence_for_ca();
CREATE FUNCTION next_version_for_tr() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
NEW.version := nextval('tr_seq_' || NEW.client_account_id);
RETURN NEW;
END
$$;
CREATE TRIGGER next_version_for_tr BEFORE INSERT ON translation_requests FOR EACH ROW EXECUTE PROCEDURE next_version_for_tr();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment