Re: соединение

From: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
To: Genix <genix(at)list(dot)ru>
Cc: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: соединение
Date: 2005-04-05 12:36:31
Message-ID: Pine.GSO.4.62.0504051634420.15865@ra.sai.msu.su
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-1489380298-1112704591=:15865
Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed
Content-Transfer-Encoding: 8BIT

On Tue, 5 Apr 2005, Genix wrote:

> Viktor Vislobokov wrote:
>> FAQ читал?
>> Вопрос 4.18
>> http://www.linuxshare.ru/postgresql/FAQ_russian.html
>
> нашел тут в интернете FAQ по PostgreSQL 7.2, там меня заинтересовал один
> вопрос, который я очень долго искал как реализовать в Informix'е:
>
> CREATE TABLE foo (fooid int, foosubid int, fooname text);
> CREATE FUNCTION getfoo(int) RETURNS SETOF foo AS $$ SELECT * FROM foo WHERE
> fooid = $1;$$ LANGUAGE SQL;
> SELECT * FROM getfoo(1) AS t1;
> SELECT * FROM foo WHERE foosubid IN (select foosubid from getfoo(foo.fooid) z
> where z.fooid = foo.fooid);
> CREATE VIEW vw_getfoo AS SELECT * FROM getfoo(1);
> SELECT * FROM vw_getfoo;
>
> пытаюсь выполнить этот запрос, ругается на
> "ERROR: syntax error at or near "$" at character 225"
> т.е. на первый $$.
>
> Не знаете, что я делаю не так?

Доллар-квоттинг появился в 8-ке ! У тебя что стоит ?
Вот у меня:
aa=# CREATE TABLE foo (fooid int, foosubid int, fooname text);
CREATE TABLE
aa=# CREATE FUNCTION getfoo(int) RETURNS SETOF foo AS $$ SELECT * FROM foo WHERE fooid = $1;$$ LANGUAGE SQL;
CREATE FUNCTION
aa=# SELECT * FROM getfoo(1) AS t1;
fooid | foosubid | fooname
-------+----------+---------
(0 rows)

aa=# SELECT * FROM foo WHERE foosubid IN (select foosubid from getfoo(foo.fooid) z where z.fooid = foo.fooid);
fooid | foosubid | fooname
-------+----------+---------
(0 rows)

aa=# CREATE VIEW vw_getfoo AS SELECT * FROM getfoo(1);
CREATE VIEW
aa=# SELECT * FROM vw_getfoo;
fooid | foosubid | fooname
-------+----------+---------
(0 rows)

>
> http://phpclub.ru/postgresql/doc/queries-table-expressions.html
>
>

Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
---559023410-1489380298-1112704591=:15865--

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Genix 2005-04-05 12:41:05 Re: соединение
Previous Message Genix 2005-04-05 12:35:33 Re: соединение