From: | Ian Barwick <barwick(at)gmx(dot)net> |
---|---|
To: | "David Durst" <ddurst(at)la-rubber(dot)com> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Insert Function |
Date: | 2002-07-11 06:38:27 |
Message-ID: | 200207110838.28005.barwick@gmx.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Wednesday 10 July 2002 23:04, David Durst wrote:
> I am not sure what the end select does, so if you can give me a explination
> it would be apreciated
It is there to satisfy the requirement that the function should return
a value from a select statement:
"12.2. Query Language (SQL) Functions
SQL functions execute an arbitrary list of SQL statements, returning the
result of the last query in the list, which must be a SELECT. ..."
(see http://www.postgresql.org/idocs/index.php?xfunc-sql.html )
After an INSERT statement you need to provide an arbitrary
select statement, which could return anything. All the example
does is return a string telling you what you've just done.
Ian Barwick
> > On Wednesday 10 July 2002 21:59, David Durst wrote:
> >> Is there anyway to create a insert function?
> >> I am trying:
> >> CREATE FUNCTION
> >> add_user(varchar(20),varchar(20),varchar(20),int4,int4) RETURNS int4
> >> AS 'INSERT INTO usr
> >> (user_name,first_name,last_name,permission_set_id,customer_id) values
> >> ($1,$2,$3,$4,$5)' language 'sql';
> >>
> >> and get:
> >>
> >> ERROR: function declared to return integer, but final statement is
> >> not a SELECT
> >> I thought that a insert would return a internal row #, but I am not
> >> sure about this.
> >
> > You can do something like this:
> >
> > CREATE FUNCTION add_user(varchar(20),varchar(20),varchar(20),int4,int4)
> > RETURNS VARCHAR AS
> > 'INSERT INTO usr
> > (user_name,first_name,last_name,permission_set_id,customer_id)
> > VALUES
> > ($1,$2,$3,$4,$5);
> > SELECT ''created user ''|| $1::VARCHAR'
> > language 'sql';
> >
> > HTH
> >
> > Ian Barwick
> >
> >
> > ---------------------------(end of
> > broadcast)--------------------------- TIP 5: Have you checked our
> > extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
From | Date | Subject | |
---|---|---|---|
Next Message | Christoph Haller | 2002-07-11 10:37:40 | Re: SQL problem with aggregate functions. |
Previous Message | Joe Conway | 2002-07-11 04:59:08 | Re: Returning rows from functions |