Re: Proposal: USING clause for DO statement
От | Pavel Stehule |
---|---|
Тема | Re: Proposal: USING clause for DO statement |
Дата | |
Msg-id | 162867790911210227wb859e52ma61f8ee222f0d036@mail.gmail.com обсуждение исходный текст |
Ответ на | Proposal: USING clause for DO statement (Pavel Stehule <pavel.stehule@gmail.com>) |
Список | pgsql-hackers |
2009/11/21 Pavel Stehule <pavel.stehule@gmail.com>: > Hello, > > I am still thinking, about using DO statement from psql console. I am > missing any parametrisation. It could not be a problem. All pl have a > support for parameters, we have a libpq function PQexecParams - so we > need only some "USING" clause. I propose following syntax (and using > from client environments) > > DO $$ body $$ USING expr [ ,expr [...]]; > > body should to have a unnamed parameters in syntax related to any PL. > I'll use plpgsql for this moment. > > so some the most simply sample should look like: > > DO $$ > BEGIN > RAISE NOTICE 'Hello, %', $1; > END > $$ USING 'World'; > > From psql: > > \set message World > DO $$BEGIN RAISE NOTICE 'Hello, %', $1; END$$ USING :message; > > From pgscript: > > SET @message = 'World'; > DO $$BEGIN RAISE NOTICE 'Hello, %', $1; END$$ USING @message; > > From C > > values[0] = "World"; > result = PQexecParams(cn, "DO $$BEGIN RAISE NOTICE 'Hello, %', $1; > END;$$ USING $1", > 1, > NULL, values, > NULL, NULL, > 0); > last note - type of parameter is taken from a value. When value will be NULL, then type will be unknown. Pavel > What do you thing about this proposal? > > Regards > Pavel Stehule >
В списке pgsql-hackers по дате отправления: