Hmm, tente fazer essa operação via stored procedure (function) em PL/PgSQL. Ficará mais rápido também.


2006/2/6, António Cascalheira <[EMAIL PROTECTED] >:
Olá

Depois de pesquisar na net e não ter encontrado solução, decidi
recorrer a esta ML. Desde já agradeço a ajuda.

Estou a desenvolver uma aplicação em
RealBasic(http://www.realsoftware.com) e PostgreSQL, e estou a
utilizar cursores para me mover entre registos, ou seja:

db.SQLExecute "Begin"
db.SQLExecute "DECLARE cursor_clientes CURSOR WITH HOLD FOR select *
from CLIENTES"
recordset = db.SQLSelect "FETCH ALL IN cursor_clientes"

e depois para mover entre registos utilizo:

recordset = db.SQLSelect "FETCH PRIOR FROM cursor_clientes"

ou

recordset = db.SQLSelect "FETCH NEXT FROM cursor_clientes"

o problema é que se entretando fizer qualquer alteração à base de
dados, do tipo:

db.SQLExecute "INSERT INTO fornecedores (n_fornecedor, nome) VALUES (
1, 'teste')"
db.commit

Ele não me deixa aceder mais ao cursor e dá erro.

Será que alguem me pode ajudar?

A. Cascalheira

ICQ: 13254272
AIM/iChat: [EMAIL PROTECTED]
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br



--
Atenciosamente,

Rodrigo Hjort
GTI - Projeto PostgreSQL
CELEPAR - Cia de Informática do Paraná
http://www.pr.gov.br
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a