Lists: | pgsql-docs |
---|
From: | Roman Neuhauser <neuhauser(at)sigpipe(dot)cz> |
---|---|
To: | pgsql-docs(at)postgresql(dot)org |
Subject: | "FETCH returns data as if it were a SELECT result" |
Date: | 2005-08-02 15:32:48 |
Message-ID: | 20050802153248.GA5320@isis.sigpipe.cz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-docs |
"The variant of FETCH described here returns the data as if it were a
SELECT result rather than placing it in host variables."
http://www.postgresql.org/docs/current/static/sql-fetch.html
That doesn't seem to be the case. Try the following script:
CREATE TABLE t1 (t1i INT, t1c CHAR(1));
CREATE TABLE t2 (t2i INT, t2c CHAR(1));
INSERT INTO t1 VALUES (1, 'a');
INSERT INTO t1 VALUES (2, 'b');
INSERT INTO t1 VALUES (3, 'c');
BEGIN;
INSERT INTO t2 (SELECT * FROM t1);
SELECT * FROM t2;
ROLLBACK;
BEGIN;
DECLARE c1 CURSOR FOR SELECT * FROM t1;
INSERT INTO t2 (FETCH ALL FROM c1);
ROLLBACK;
The output I get:
CREATE TABLE
CREATE TABLE
INSERT 19110 1
INSERT 19111 1
INSERT 19112 1
BEGIN
INSERT 0 3
t2i | t2c
-----+-----
1 | a
2 | b
3 | c
(3 rows)
ROLLBACK
BEGIN
DECLARE CURSOR
psql:tmp/fetch-is-unlike-select.sql:15: ERROR: syntax error at or near "ALL" at character 23
psql:tmp/fetch-is-unlike-select.sql:15: LINE 1: INSERT INTO t2 (FETCH ALL FROM c1);
psql:tmp/fetch-is-unlike-select.sql:15: ^
ROLLBACK
This is on PostgreSQL 8.0.3 on i386-portbld-freebsd4.11, compiled by GCC 2.95.4
--
How many Vietnam vets does it take to screw in a light bulb?
You don't know, man. You don't KNOW.
Cause you weren't THERE. http://bash.org/?255991
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Roman Neuhauser <neuhauser(at)sigpipe(dot)cz> |
Cc: | pgsql-docs(at)postgresql(dot)org |
Subject: | Re: "FETCH returns data as if it were a SELECT result" |
Date: | 2005-08-02 17:09:58 |
Message-ID: | 11939.1123002598@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-docs |
Roman Neuhauser <neuhauser(at)sigpipe(dot)cz> writes:
> "The variant of FETCH described here returns the data as if it were a
> SELECT result rather than placing it in host variables."
> That doesn't seem to be the case.
It means it returns data *to the client* in the same way a SELECT does.
regards, tom lane
From: | Roman Neuhauser <neuhauser(at)sigpipe(dot)cz> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-docs(at)postgresql(dot)org |
Subject: | Re: "FETCH returns data as if it were a SELECT result" |
Date: | 2005-08-02 19:04:29 |
Message-ID: | 20050802190429.GA7082@isis.sigpipe.cz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-docs |
# tgl(at)sss(dot)pgh(dot)pa(dot)us / 2005-08-02 13:09:58 -0400:
> Roman Neuhauser <neuhauser(at)sigpipe(dot)cz> writes:
> > "The variant of FETCH described here returns the data as if it were a
> > SELECT result rather than placing it in host variables."
>
> > That doesn't seem to be the case.
>
> It means it returns data *to the client* in the same way a SELECT does.
Ok, and what does *that* mean? If you spend a few minutes on an
explanation, I'll submit a patch to the documentation.
--
How many Vietnam vets does it take to screw in a light bulb?
You don't know, man. You don't KNOW.
Cause you weren't THERE. http://bash.org/?255991