Re: IF NOT EXIST - Mailing list pgsql-general

From Alban Hertroys
Subject Re: IF NOT EXIST
Date
Msg-id 27AD9468-60E6-4D36-9026-49A385B0CC6C@gmail.com
Whole thread Raw
In response to IF NOT EXIST  (Igor Korot <ikorot01@gmail.com>)
Responses Re: IF NOT EXIST
List pgsql-general
> 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 syntax
optionsand 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.
You will also have to specify a return type (functions return values) and the language the function is implemented in.
Thedocumentation 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.


pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Format an Update with calculation
Next
From: Laurenz Albe
Date:
Subject: Re: How to insert bulk data with libpq in C?