回答編集履歴
1
2相コミットはDDL文に対しても可能な旨、コメントを追記しました
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';
|