Re: IF NOT EXIST

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: Igor Korot <ikorot01(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: IF NOT EXIST
Date: 2018-12-18 08:02:21
Message-ID: 27AD9468-60E6-4D36-9026-49A385B0CC6C@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


> On 18 Dec 2018, at 7:10, Igor Korot <ikorot01(at)gmail(dot)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 options 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.
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.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Laurenz Albe 2018-12-18 08:24:04 Re: How to insert bulk data with libpq in C?
Previous Message Pavel Stehule 2018-12-18 07:18:13 Re: Format an Update with calculation