Re: соединение - Mailing list pgsql-ru-general

From Oleg Bartunov
Subject Re: соединение
Date
Msg-id Pine.GSO.4.62.0504051634420.15865@ra.sai.msu.su
Whole thread Raw
In response to Re: соединение  (Genix <genix@list.ru>)
Responses Re: соединение  (Genix <genix@list.ru>)
List 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@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
---559023410-1489380298-1112704591=:15865--

pgsql-ru-general by date:

Previous
From: Genix
Date:
Subject: Re: соединение
Next
From: Genix
Date:
Subject: Re: соединение