回答編集履歴

1

2相コミットはDDL文に対しても可能な旨、コメントを追記しました

2015/10/21 08:33

投稿

退会済みユーザー
test CHANGED
@@ -11,6 +11,12 @@
11
11
  (1) beginメソッドによってトランザクションを開始する
12
12
 
13
13
  (2) insert,update,delete等でデータベースに対する更新を実行する
14
+
15
+   [2015/10/21 17:32追記]
16
+
17
+   または、alter等でテーブル定義の更新を実行する
18
+
19
+   ※PostgreSQLはalter等のDDL文にもトランザクションが利用できます
14
20
 
15
21
  (3) prepare transactionコマンドによって2相コミットを開始する
16
22
 
@@ -50,6 +56,12 @@
50
56
 
51
57
  insert into employee values (2, 'foobar', true);
52
58
 
59
+ -- [2015/10/21 17:32追記]
60
+
61
+ -- トランザクション内で以下のようにDDL文が利用できます
62
+
63
+ alter table employee add column joined date not null;
64
+
53
65
  prepare transaction 'tran20151021164600';
54
66
 
55
67
  commit prepared 'tran20151021164600';