Provided by:
manpages-zh_1.5-1_all 
NAME
BEGIN - 開始一茖
SYNOPSIS
BEGIN [ WORK | TRANSACTION ]
DESCRIPTIONyz
BEGIN 初始化一茖禲A 也就是說所有 BEGIN 命令後的使用者語句都將在一-
茖堭執行直到給出一茤確的 COMMIT [commit(7)] 或者 ROLLBACK
[rollback(l)] 。 預設時,(沒有 BEGIN),PostgreSQL 以 "autocommit"
模式執行事務,也就是說,每蚖y句在其自赤漕什鶡獢A
並且在語句結束的時埡籈t地執行一荋ㄔ獢]如果執行成功,否則執行回滾)。
在事務塊裏執行的語句很明顯地快得多,
因為事務開始/提交(start/commit)需n大量的CPU和磁碟活動。 在一
事務內部執行多條語句對於蚹駺幹茯袺鰝漯磲漁尕也是很有用的:
在所有相關的更新完成之前,其它會話看不到中間的狀態。
PARAMETERS數
WORK
TRANSACTION
可選關鍵字。沒什麼作用。
NOTES`N
START TRANSACTION [start_transaction(7)] 有著和 BEGIN 一樣的功能。
使用 COMMIT [commit(7)] 或 ROLLBACK [rollback(7)] 結束一茖C
在一茞{有事務塊內部發出一 BEGIN 將產生一蚅筆i訊息。
事務的狀態將不會被影響。
EXAMPLESl
開始一茖洏峈怢G
BEGIN;
COMPATIBILITYe性
BEGIN 是 PostgreSQL 語言的擴展。 在 SQL 標準中沒有明確的 BEGIN
的定義;事務初始化總是隱含的而且使用一 COMMIT 或者 ROLLBACK 語句終止。
許多關系型數據庫為了方便提供一茼菾妠ㄔ獢]autocommit)特性。
順便說一句,BEGIN 關鍵字在嵌入 SQL 裏用於不同的目的。 我-
怮媊釦A在移植數據庫應用時仔細檢查事務的語義。
SEE ALSO見
COMMIT [commit(7)], ROLLBACK [rollback(l)]
者
Postgresql <laser@pgsqldb.org>