Re: AUTO COMMIT
От | Atif Jung |
---|---|
Тема | Re: AUTO COMMIT |
Дата | |
Msg-id | AANLkTilNzhDsO6qL4EbgMJjHlzqm4ZuIrjigKst2wYrC@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: AUTO COMMIT ("Jean-Yves F. Barbier" <12ukwn@gmail.com>) |
Список | pgsql-novice |
Sorry I'm still confused. as I said in my earlier e-mail I've built the program using the -t option for ecpg. AUTOCOMMIT is set to on, however I still get an error when opening a declared cursor:
"DECLARE CURSOR can only be used in transaction blocks".
If I stick a EXEC SQL BEGIN WORK before declaring the cursor it seems to work ok, but I thought the -t option saves me from having to do that each time.
Atif
On 28 June 2010 19:23, Jean-Yves F. Barbier <12ukwn@gmail.com> wrote:
Le Mon, 28 Jun 2010 15:56:51 +0100,
Atif Jung <atifjung@gmail.com> a écrit :
...autocommit means *every* line is begin/commit (or fails).> "In the default mode, statements are committed only when EXEC SQL COMMIT
> is issued. The embedded SQL interface also supports autocommit of
> transactions (similar to libpq behavior) via the -t command-line option
> to ecpg (see below) or via the EXEC SQL SET AUTOCOMMIT TO ON statement.
> In autocommit mode, each command is automatically committed unless it is
> inside an explicit transaction block. This mode can be explicitly turned
> off using EXEC SQL SET AUTOCOMMIT TO OFF."
>
> I've used the -t command-line option when compiling my code, and
> AUTOCOMMIT is set, but I still get the following error message when
> declaring a cursor:
>
> DECLARE CURSOR can only be used in transaction blocks.
>
> What am I doing wrong?
--
QOTD:
"He's so egotistical he yells his own name when he comes."
--
Sent via pgsql-novice mailing list (pgsql-novice@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-novice
В списке pgsql-novice по дате отправления: