Re: data definition within plpgsql - Mailing list pgsql-general

From Laurenz Albe
Subject Re: data definition within plpgsql
Date
Msg-id 5f10540a045ef37e7ab877fcc110e1742f34350a.camel@cybertec.at
Whole thread Raw
In response to data definition within plpgsql  (hamann.w@t-online.de)
List pgsql-general
hamann.w@t-online.de wrote:
> I tried this code (to be inserted within a larger psql script)
> 
> do $_$
> declare
>         next int;
> begin
>         select max(id) + 1 into next from items;
>         execute 'create temp sequence tmp_ids start $1' using next;
> end
> $_$ language plpgsql;
> 
> but that reports a syntax error near $1.
> What is the proper way of doing that?

You cannot use parameters with DDL statements.

This should work:

  EXECUTE format('CREATE TEMP SEQUENCE tmp_ids START %s', $1);

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com



pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: data definition within plpgsql
Next
From: Pavan Teja
Date:
Subject: Re: logical replication problem