Re: IF NOT EXIST
От | Adrian Klaver |
---|---|
Тема | Re: IF NOT EXIST |
Дата | |
Msg-id | 30b9e725-dc1e-fbe3-7011-69799bb297b7@aklaver.com обсуждение исходный текст |
Ответ на | Re: IF NOT EXIST (Alban Hertroys <haramrae@gmail.com>) |
Список | pgsql-general |
On 12/18/18 12:02 AM, Alban Hertroys wrote: > >> On 18 Dec 2018, at 7:10, Igor Korot <ikorot01@gmail.com> wrote: >> >> Hi, ALL, >> I have a following statement: >> >> IF NOT EXIST( SELECT 1 SELECT 1 FROM pg_proc AS proc, pg_namespace AS >> ns ) CREATE FUNCTION(); >> >> Unfortunately trying to execute it thru the ODBC interface with: >> >> ret = SQLExecDirect( m_hstmt, query, SQL_NTS ); >> >> gives syntax error near IF. >> >> What is the proper way to do that? > > It looks like you’re trying to create a function unless it already exists, but you’re missing several important parts. > > Firstly, the statement you’re looking for is CREATE OR REPLACE FUNCTION. Look it up in the docs for the various syntaxoptions and for how to use it, as… > > Secondly, your function doesn’t have a name. A function requires a name, or you wouldn’t ever be able to call it. With an exception: https://www.postgresql.org/docs/10/sql-do.html > You will also have to specify a return type (functions return values) and the language the function is implemented in.The documentation will show you that there are several options you can provide too. > > And lastly, a function requires an implementation. > > Regards, > > Alban Hertroys > -- > There is always an exception to always. > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: