dbTalk Databases Forums  

Re: [NOVICE] A very simple question about rollback/commit

mailing.database.pgsql-novice mailing.database.pgsql-novice


Discuss Re: [NOVICE] A very simple question about rollback/commit in the mailing.database.pgsql-novice forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Jeff Davis
 
Posts: n/a

Default Re: [NOVICE] A very simple question about rollback/commit - 07-16-2012 , 02:27 PM






On Mon, 2012-07-09 at 11:09 -0400, Della-Croce, Gregory wrote:
Quote:
I am new to working with PostgreSQL and need to create a pgSQL process
that I can run against a 8.4 PostgreSQL database. The code will need
to look something like:

BEGIN;

SAVEPOINT sp1;

UPDATE location SET delete = 1 WHERE delete=0 RETRUNING count;

[code to rollback if there is an error or commit if everything was
good]
....

Quote:
Oh, another small question, since this is not being embedded in an
program like C#, VB, etc, the two tool I have are pgADMIN III and SSH.
Can this be done in pgADMIN III?
Because you are using 8.4, you will need to define a function, and I
recommend PL/pgSQL:

http://www.postgresql.org/docs/8.4/static/sql-createfunction.html
http://www.postgresql.org/docs/8.4/static/plpgsql.html

In particular, look at:

http://www.postgresql.org/docs/8.4/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

That last one will tell you about the BEGIN/EXCEPTION block, which is I
think what you want. Internally, that uses savepoints so you don't have
to. (In fact, it might be impossible to use savepoints in PL/pgSQL, and
you might have to use the BEGIN/EXCEPTION block).

If PL/pgSQL is not already installed, you may need to create it in your
database first:

http://www.postgresql.org/docs/8.4/static/app-createlang.html
or
http://www.postgresql.org/docs/8.4/static/sql-createlanguage.html

If you use later versions of postgresql, then PL/pgSQL is installed by
default, and you can use the a "DO" block rather than creating a
function:

http://www.postgresql.org/docs/9.1/static/sql-do.html

I know that's a lot of information all at once, but I hope it's helpful.

Regards,
Jeff Davis


--
Sent via pgsql-novice mailing list (pgsql-novice (AT) postgresql (DOT) org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-novice

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.