"FETCH returns data as if it were a SELECT result"
От | Roman Neuhauser |
---|---|
Тема | "FETCH returns data as if it were a SELECT result" |
Дата | |
Msg-id | 20050802153248.GA5320@isis.sigpipe.cz обсуждение исходный текст |
Ответы |
Re: "FETCH returns data as if it were a SELECT result"
|
Список | 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
В списке pgsql-docs по дате отправления: