[PHP-users 5579] Re: トランザクションについて。

Naofumi Kondoh php-users@php.gr.jp
Wed, 20 Feb 2002 16:20:27 +0900


ソフト工房の近藤です。こんにちは。

Shigeki Mimura wrote:
> 
> 三村です。

....snip....

> $conn=pg_connect("host=dbhost user=dbuser password=password dbname=dbname port=5432");
> $query="BEGIN;
> INSERT INTO  ....
> COMMIT;";
> $result=pg_exec($conn,$query);
> pg_close($conn);
> 
> と言うような形でも良いでしょうし,
.....snip.....

COMMIT 文を単独で実行しないと、COMMIT が失敗した
時の判定が難しいと思いますが如何でしょう。
遅延参照等々 COMMIT が失敗する場合もあるので、
COMMIT だけは単独の SQL 文にした方がよいと思います。

# PostgreSQL が失敗原因を判定できる SQLCODE や
# SQLSTATE を返してくれれば楽になるんだけど。
# pg_errormessage だけでは一寸苦しいですね。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp 
  《 PostgreSQL+PHPソースコードジェネレーターデモGPL版 》
           http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/