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--
From | Date | Subject | |
---|---|---|---|
Next Message | Genix | 2005-04-05 12:41:05 | Re: соединение |
Previous Message | Genix | 2005-04-05 12:35:33 | Re: соединение |