Re: help with a procedure - Mailing list pgsql-general

From Seref Arikan
Subject Re: help with a procedure
Date
Msg-id CA+4Thdo5o=+PD8ThNghGTgMrxUb+q2W4aTDNRv9_hpwonXZc5A@mail.gmail.com
Whole thread Raw
In response to help with a procedure  (Carlos Carcamo <eazyduiz@gmail.com>)
Responses Re: help with a procedure
List pgsql-general
Hi Carlos, 
When you say procedures, do you mean calling a stored procedure you'll write from php? Or executing the individual INSERT from php sequentially? 
For the first scenario, you'd need to write a postgresql stored procedure (I suggest you google: PL/pgSQL tutorial) and call the from php. For the second, well, it is exactly what I said before: you'll need to open a connection to postgres, execute your statements under a transaction and commit. I'd suggest you either search for php and postgres or ask this to a php mail group. Your goal here appears to be understanding how to call postgres from php.

Regards
Seref




On Thu, Jun 5, 2014 at 5:03 PM, Carlos Carcamo <eazyduiz@gmail.com> wrote:
Thanks for answering...
I'm using php with postgresql 9.1, I have never used procedures with php, I'm new with postgresql


2014-06-05 9:45 GMT-06:00 Seref Arikan <serefarikan@gmail.com>:

Hi Carlos, 
Unless I'm missing something here, your queries are probably being called from a programming language (java/c# etc) and your database access api should support transactions. If you perform both operations under the same db transaction and commit your transaction things should be fine. If there is a problem with the first INSERT, your api should throw an exception and you won't be able to commit the transaction (you may/may not need to call rollback in your catch block), so it'll either be both calls executed or none. 

You may want to read about how db transactions are handled in your programming environment. 

Regards
Seref



On Thu, Jun 5, 2014 at 4:36 PM, Carlos Carcamo <eazyduiz@gmail.com> wrote:

2014-06-05 9:32 GMT-06:00 Carlos Carcamo <eazyduiz@gmail.com>:

Hi everyone, I wonder if you could help me with a procedure that I would like to perform in postgresql.

I have an insert query like this:

INSERT INTO products (product_id, description, price, qty, ...) values ('01', 'some description', 10.15, 5, ...)

then if there is no problem, perform another query like:

INSERT INTO store(store_id, description, price, qty, ...) values ('02', 'some description', 10.15, 5, ...)

So the second query depends of the first query, if the first one succeed the second will perform the second insert

I would like to do something like:

SELECT myProcedure(product_id, p_description, price, qty, store_id, store_description );

waiting for a response from procedure, maybe true or false.

Thanks in advance...



--
"El desarrollo no es material es un estado de conciencia metal"

Sorry,  the second query looks like:
INSERT INTO store(store_id, description, product_id, price, qty, ...) values ('02', 'some description', '01', 10.15, 5, ...)

--
"El desarrollo no es material es un estado de conciencia metal"




--
"El desarrollo no es material es un estado de conciencia metal"

pgsql-general by date:

Previous
From: Bhushan Pathak
Date:
Subject: Re: PostgreSQL 9.2.4 + CentOS 6.5 64 bit - segfault error in initdb
Next
From: Seref Arikan
Date:
Subject: Re: help with a procedure