{"kind": "protocol", "major": "18", "item": {"slug": "commandcomplete-b", "name": "CommandComplete", "name_zh": "", "category": "\u540e\u7aef\u6d88\u606f", "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "aliases": ["CommandComplete", "Byte1('C')"], "content_hash": "ef33fd2576ae7749df4dde1320bbec331f1698c1255b59162a0206336179b3c8", "versions": {"10": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid is the object ID of the inserted row if rows is 1 and the target table has OIDs; otherwise oid is 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002\u5f53 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\uff0coid \u662f\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/10/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/10/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/10/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/10/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/10/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "stable", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 10 English manual", "sha256": "b730a205dfc348a67edbc1e9687f2c2df69005fe30c062ef76e37b474538e4f8"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "e8128c15b60fa3298facda053424e38e11bcd21152f2d35599f1f5894d9dd8db", "fragment_sha256": "f551cca819d6783bfb5831cd37fe1c44acd4dd2e0d184a9a885c50537d652770", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "a81a78dac0b8d6e5eb18a799fd9d74cbdf14dfcc87e9051324ad25544c24c354", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "10", "text_hash": "31285fe2288821f95ea9bdbc1220dcf193f1878cf1249777c71d2e9e7e8cc45d", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002\u5f53 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\uff0coid \u662f\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "e8128c15b60fa3298facda053424e38e11bcd21152f2d35599f1f5894d9dd8db", "fragment_sha256": "f551cca819d6783bfb5831cd37fe1c44acd4dd2e0d184a9a885c50537d652770", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "a81a78dac0b8d6e5eb18a799fd9d74cbdf14dfcc87e9051324ad25544c24c354", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 oid \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 oid \u4e3a 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span class=\"term\">Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span class=\"term\">String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em> <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 <em class=\"replaceable\"><code>oid</code></em> \u4e3a 0\u3002</p><p>        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 oid \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 oid \u4e3a 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "10", "link_map": {"/zh/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS": "/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span>Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span>String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>INSERT <em><code>oid</code></em> <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 <em><code>oid</code></em> \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 <em><code>oid</code></em> \u4e3a 0\u3002</p><p>        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "5222a17808626b4f52bf281128a63cc6fbf806dacaf5a17abff95c9309fa937e", "content_hash": "31285fe2288821f95ea9bdbc1220dcf193f1878cf1249777c71d2e9e7e8cc45d", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002\u5f53 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\uff0coid \u662f\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 oid \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 oid \u4e3a 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/10/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/10/datatype-json.html", "method": "same-major semantic node", "sha256": "165b454cf9ff6825d21a4252844d43764fca541eafd0649170257d230e23425b", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[18]/pre[23]/em[4]/code[0]"]}, {"url": "/docs/10/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "fb3f5382c61e7fcc0eaa29589ac1811e59b1cc7a8bd23c1ebe5fc8f17c9819b2", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[7]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/10/facts/0/label": "Direction", "/versions/10/facts/0/value": "Backend \u2192 frontend", "/versions/10/facts/1/label": "First wire field", "/versions/10/facts/2/label": "Field entries", "/versions/10/facts/3/label": "Documented flow contexts", "/versions/10/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/10/tables/0/title": "Wire fields in documented order", "/versions/10/related/0/label": "Protocol flow and exchange examples", "/versions/10/related/1/label": "Protocol overview", "/versions/10/related/2/label": "Simple Query", "/versions/10/related/3/label": "Extended Query", "/versions/10/related/4/label": "COPY Operations", "/versions/10/sections/0/title": "Framing and repetition", "/versions/10/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/10/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/10/tables/0/rows/2/c1": "String", "/versions/10/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid is the object ID of the inserted row if rows is 1 and the target table has OIDs; otherwise oid is 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/10/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/10/tables/0/columns/0/label": "Position", "/versions/10/tables/0/columns/1/label": "Format", "/versions/10/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "5f934a45c11b14f6396ee9cd88a57a13742609c713852e084ab4f80ec88017d9", "canonical_center_text_hash": "31285fe2288821f95ea9bdbc1220dcf193f1878cf1249777c71d2e9e7e8cc45d"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 oid \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 oid \u4e3a 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid is the object ID of the inserted row if rows is 1 and the target table has OIDs; otherwise oid is 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "e97fa10b35f77a6bf140a4c5f646c82a37c1875a4f13240b8fdac298a5532989", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span>Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span>String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>INSERT <em><code>oid</code></em> <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 <em><code>oid</code></em> \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 <em><code>oid</code></em> \u4e3a 0\u3002</p><p>        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "11": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid is the object ID of the inserted row if rows is 1 and the target table has OIDs; otherwise oid is 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002\u5f53 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\uff0coid \u662f\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/11/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/11/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/11/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/11/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/11/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "stable", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 11 English manual", "sha256": "a6087693de687f5a6582bfa6529356ecb8a089e2d56694482352a55eb6ccfdf1"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "b86aa7c7a982503a5943f3f5501cf5ca27ea5cf1f9d48418c461cf096d15c4db", "fragment_sha256": "f861954db3e3bc35e4673bf942840812a7b4db9f7637c2a403e268cc5d77c2a2", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "84759f4172e7487b700f36b1a0bdf99287104e0221710cdfdb95ececa27b6beb", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "11", "text_hash": "2322f5e456d04359f44bfe88e15d632fa6e58ba1261ba0435ef161f68be0808e", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002\u5f53 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\uff0coid \u662f\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "b86aa7c7a982503a5943f3f5501cf5ca27ea5cf1f9d48418c461cf096d15c4db", "fragment_sha256": "f861954db3e3bc35e4673bf942840812a7b4db9f7637c2a403e268cc5d77c2a2", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "84759f4172e7487b700f36b1a0bdf99287104e0221710cdfdb95ececa27b6beb", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 oid \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 oid \u4e3a 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span class=\"term\">Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span class=\"term\">String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em> <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 <em class=\"replaceable\"><code>oid</code></em> \u4e3a 0\u3002</p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 oid \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 oid \u4e3a 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "11", "link_map": {"/zh/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS": "/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span>Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span>String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>INSERT <em><code>oid</code></em> <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 <em><code>oid</code></em> \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 <em><code>oid</code></em> \u4e3a 0\u3002</p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "0607df819099e3c80563515a4ed3aa15ac1aac1c355dcb8c3ea24e6a921b3a8e", "content_hash": "2322f5e456d04359f44bfe88e15d632fa6e58ba1261ba0435ef161f68be0808e", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002\u5f53 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\uff0coid \u662f\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 oid \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 oid \u4e3a 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/11/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/11/datatype-json.html", "method": "same-major semantic node", "sha256": "e3239ad05fc4bad945529e631d9e5da84363b31e6e589461b97d69386cc43e7f", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[18]/pre[23]/em[4]/code[0]"]}, {"url": "/docs/11/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "9726c6197a98d51a4e85474eefe4eebef23c1e01c1accd23e4633aa0e78288ea", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[7]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/11/facts/0/label": "Direction", "/versions/11/facts/0/value": "Backend \u2192 frontend", "/versions/11/facts/1/label": "First wire field", "/versions/11/facts/2/label": "Field entries", "/versions/11/facts/3/label": "Documented flow contexts", "/versions/11/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/11/tables/0/title": "Wire fields in documented order", "/versions/11/related/0/label": "Protocol flow and exchange examples", "/versions/11/related/1/label": "Protocol overview", "/versions/11/related/2/label": "Simple Query", "/versions/11/related/3/label": "Extended Query", "/versions/11/related/4/label": "COPY Operations", "/versions/11/sections/0/title": "Framing and repetition", "/versions/11/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/11/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/11/tables/0/rows/2/c1": "String", "/versions/11/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid is the object ID of the inserted row if rows is 1 and the target table has OIDs; otherwise oid is 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/11/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/11/tables/0/columns/0/label": "Position", "/versions/11/tables/0/columns/1/label": "Format", "/versions/11/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "1f4cd3a8f0d93ac56ca5f7e48258d79f4187594a461e234d94fb324aac18b3d0", "canonical_center_text_hash": "2322f5e456d04359f44bfe88e15d632fa6e58ba1261ba0435ef161f68be0808e"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 oid \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 oid \u4e3a 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid is the object ID of the inserted row if rows is 1 and the target table has OIDs; otherwise oid is 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "e97fa10b35f77a6bf140a4c5f646c82a37c1875a4f13240b8fdac298a5532989", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span>Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span>String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>INSERT <em><code>oid</code></em> <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID\uff0c\u5219 <em><code>oid</code></em> \u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219 <em><code>oid</code></em> \u4e3a 0\u3002</p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "12": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/12/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/12/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/12/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/12/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/12/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "stable", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 12 English manual", "sha256": "00f6cafbcaad89c7e7982faed10a2896b7188de151ac9137633021207f7c2b70"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "b465bd771c4b398671c853d51262347b617bc7e6f5b1d26744df95ddd9cb26a1", "fragment_sha256": "3f0923ff3cffe696dbdcf7116e56a3edb1e6ad8fec5b99873c00973cc41b2957", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "d6466107c783c26f3b826339460c56587b3cbaba00b5b0a474fb52d2648c0de9", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "12", "text_hash": "5c7568ee22f70b36823c27685f3e13922cf927bfb45cd07a4112586dc5120c75", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "b465bd771c4b398671c853d51262347b617bc7e6f5b1d26744df95ddd9cb26a1", "fragment_sha256": "3f0923ff3cffe696dbdcf7116e56a3edb1e6ad8fec5b99873c00973cc41b2957", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "d6466107c783c26f3b826339460c56587b3cbaba00b5b0a474fb52d2648c0de9", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span class=\"term\">Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span class=\"term\">String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "12", "link_map": {"/zh/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS": "/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span>Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span>String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "8d056ee40c6bd1501985d946b00f68fb86aec62f8e716d8017a83c2f02465f31", "content_hash": "5c7568ee22f70b36823c27685f3e13922cf927bfb45cd07a4112586dc5120c75", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/12/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/12/datatype-json.html", "method": "same-major semantic node", "sha256": "5a46150e3fb4bd47dd2a421735d2e7672c4368f9209446b850d6adbf92d51b7e", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/12/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "1d8b90803d96546f1f4c7412e486a669852503476ec078069948005061c1122c", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[7]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/12/facts/0/label": "Direction", "/versions/12/facts/0/value": "Backend \u2192 frontend", "/versions/12/facts/1/label": "First wire field", "/versions/12/facts/2/label": "Field entries", "/versions/12/facts/3/label": "Documented flow contexts", "/versions/12/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/12/tables/0/title": "Wire fields in documented order", "/versions/12/related/0/label": "Protocol flow and exchange examples", "/versions/12/related/1/label": "Protocol overview", "/versions/12/related/2/label": "Simple Query", "/versions/12/related/3/label": "Extended Query", "/versions/12/related/4/label": "COPY Operations", "/versions/12/sections/0/title": "Framing and repetition", "/versions/12/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/12/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/12/tables/0/rows/2/c1": "String", "/versions/12/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/12/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/12/tables/0/columns/0/label": "Position", "/versions/12/tables/0/columns/1/label": "Format", "/versions/12/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "dbf7e539f5184a9d42cbaa3e5a4c8c7476a1b2aefbf9d3f0494777d3330b53ca", "canonical_center_text_hash": "5c7568ee22f70b36823c27685f3e13922cf927bfb45cd07a4112586dc5120c75"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "a3693453a3063fd1f19c04f2ed87343c75d38c2e0a808251446a01918f8ea71d", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span>Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span>String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "13": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/13/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/13/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/13/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/13/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/13/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "stable", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 13 English manual", "sha256": "86bc62b343a9bd881a6832cced7d81285a9924985ea598ee2b207bbb4ba9666e"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "f528933d3d49a628dc271c84fe2e25f517ee866bbb01914a395c3d878a1873f3", "fragment_sha256": "3f0923ff3cffe696dbdcf7116e56a3edb1e6ad8fec5b99873c00973cc41b2957", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "2a203f900c117e3ab2730435fed622c6b7a57abce2b11656969352a9f29610d9", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "13", "text_hash": "6f44b203e18fa8845c2cd17eae8540fa457650d4ec8b4243d590747dea18c8f0", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "f528933d3d49a628dc271c84fe2e25f517ee866bbb01914a395c3d878a1873f3", "fragment_sha256": "3f0923ff3cffe696dbdcf7116e56a3edb1e6ad8fec5b99873c00973cc41b2957", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "2a203f900c117e3ab2730435fed622c6b7a57abce2b11656969352a9f29610d9", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span class=\"term\">Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span class=\"term\">String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "13", "link_map": {"/zh/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS": "/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span>Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span>String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "cbd29e10f0d26f3632a44a268a96d1a42ca57f1f9fbe0904b7921668b9927599", "content_hash": "6f44b203e18fa8845c2cd17eae8540fa457650d4ec8b4243d590747dea18c8f0", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/13/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/13/datatype-json.html", "method": "same-major semantic node", "sha256": "4f40d591dd48f8b5cb58a4f0af9b824d2b0b6dee2132a6a010128e4f9b64184b", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/13/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "90801323e211e99834ac2c19f534fccad08d74098fbce82899c1e1970d871906", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[7]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/13/facts/0/label": "Direction", "/versions/13/facts/0/value": "Backend \u2192 frontend", "/versions/13/facts/1/label": "First wire field", "/versions/13/facts/2/label": "Field entries", "/versions/13/facts/3/label": "Documented flow contexts", "/versions/13/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/13/tables/0/title": "Wire fields in documented order", "/versions/13/related/0/label": "Protocol flow and exchange examples", "/versions/13/related/1/label": "Protocol overview", "/versions/13/related/2/label": "Simple Query", "/versions/13/related/3/label": "Extended Query", "/versions/13/related/4/label": "COPY Operations", "/versions/13/sections/0/title": "Framing and repetition", "/versions/13/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/13/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/13/tables/0/rows/2/c1": "String", "/versions/13/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/13/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/13/tables/0/columns/0/label": "Position", "/versions/13/tables/0/columns/1/label": "Format", "/versions/13/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "54e55858ca6e905a398bc878efd4f03528ac1022eaf7355013b0814c2d6b2ea8", "canonical_center_text_hash": "6f44b203e18fa8845c2cd17eae8540fa457650d4ec8b4243d590747dea18c8f0"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "a3693453a3063fd1f19c04f2ed87343c75d38c2e0a808251446a01918f8ea71d", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n</p><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002</p></dd><dt><span>Int32</span></dt><dd><p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p></dd><dt><span>String</span></dt><dd><p>\u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002</p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09</p></dd></dl></div><p>\n</p></dd><p><a href=\"/zh/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "14": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/14/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/14/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/14/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/14/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/14/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 14 English manual", "sha256": "250fd6a2529964948260a546f72931e259885bb222b62c3bdbf5ab402b72987b"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "4cb6571b756c2b8f4e3e5f0710a5f70b495f4f380a8eea05e2db265978d27607", "fragment_sha256": "24d9f150c3af47f8aaf6d42fb71613a59983c97bdb8c6565b3dc1f26d0183657", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "dbb1a3034cccb11c6f877ed76a4fcd141f2f0292acf7cb508a8d7ec19d15254e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "14", "text_hash": "e45ddc4842b28333c3dd39e782ed8285612a9806de50dd5fbc65741266c0538f", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "anchor": "PROTOCOL-MESSAGE-FORMATS", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "4cb6571b756c2b8f4e3e5f0710a5f70b495f4f380a8eea05e2db265978d27607", "fragment_sha256": "24d9f150c3af47f8aaf6d42fb71613a59983c97bdb8c6565b3dc1f26d0183657", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "dbb1a3034cccb11c6f877ed76a4fcd141f2f0292acf7cb508a8d7ec19d15254e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span></dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span class=\"term\">Int32</span></dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span class=\"term\">String</span></dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "14", "link_map": {"/zh/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS": "/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span></dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span></dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "a95c5c70f1151760875fc43918f5c055d743adfe8bae94a57abc516e945e4ba3", "content_hash": "e45ddc4842b28333c3dd39e782ed8285612a9806de50dd5fbc65741266c0538f", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/14/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/14/datatype-json.html", "method": "same-major semantic node", "sha256": "6caaf22252a97833322c667923644122c2e880284c9f623b4ccbad4929b6ce66", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/14/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "a125a259c8ea8299be50b5d5d8241c513d8b38df4c6f16cf53b7949a63e2f8aa", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[7]"]}], "language": "zh", "original_text": {"/versions/14/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/14/facts/0/label": "Direction", "/versions/14/facts/0/value": "Backend \u2192 frontend", "/versions/14/facts/1/label": "First wire field", "/versions/14/facts/2/label": "Field entries", "/versions/14/facts/3/label": "Documented flow contexts", "/versions/14/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/14/tables/0/title": "Wire fields in documented order", "/versions/14/related/0/label": "Protocol flow and exchange examples", "/versions/14/related/1/label": "Protocol overview", "/versions/14/related/2/label": "Simple Query", "/versions/14/related/3/label": "Extended Query", "/versions/14/related/4/label": "COPY Operations", "/versions/14/sections/0/title": "Framing and repetition", "/versions/14/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/14/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/14/tables/0/rows/2/c1": "String", "/versions/14/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/14/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/14/tables/0/columns/0/label": "Position", "/versions/14/tables/0/columns/1/label": "Format", "/versions/14/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "4006d478eba1663aea575480bc02accee9132208226f5977cb65fb2791beb2e2", "canonical_center_text_hash": "e45ddc4842b28333c3dd39e782ed8285612a9806de50dd5fbc65741266c0538f"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "a3693453a3063fd1f19c04f2ed87343c75d38c2e0a808251446a01918f8ea71d", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span></dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span></dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "15": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/15/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/15/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/15/protocol-flow.html#id-1.10.6.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/15/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/15/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "path": "protocol-message-formats.html", "label": "PostgreSQL 15 English manual", "sha256": "8c5c191eef74cd3249dabab5d6714b0f516b88c4658da4d6cce6c003bc45d919"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "61228a8f3b29eea0148a7f9a8936a49ecbb8eafec865a1b7c96990b74b854a82", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "2e508cac4e6b09bc8a04cf370fa1f2b11b0e1ddb189e5a705a03f96631e46970", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "15", "text_hash": "4a7239f6a0e4521298d02832c0220ae117033c86307fbb77e2912b515c9c3dd4", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "61228a8f3b29eea0148a7f9a8936a49ecbb8eafec865a1b7c96990b74b854a82", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "2e508cac4e6b09bc8a04cf370fa1f2b11b0e1ddb189e5a705a03f96631e46970", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span class=\"term\">Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span class=\"term\">String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MERGE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "15", "link_map": {"/zh/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE": "/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "fcd0fb566579fdd4619a49796e4556acce520e3d88a3ac1357f7cf532abd70cf", "content_hash": "4a7239f6a0e4521298d02832c0220ae117033c86307fbb77e2912b515c9c3dd4", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/15/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/15/datatype-json.html", "method": "same-major semantic node", "sha256": "1de5ac3fcff666e4a6ac070ff5320df19ce2a518ff29c894afc9071d51b938ff", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/15/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "bbc89cd7e243ed7051f6e82b92f54fe8a97cbf4a673c2c4b39d9e8c8b7c422d3", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[35]/div[0]/dl[0]/dd[5]/p[8]"]}], "language": "zh", "original_text": {"/versions/15/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/15/facts/0/label": "Direction", "/versions/15/facts/0/value": "Backend \u2192 frontend", "/versions/15/facts/1/label": "First wire field", "/versions/15/facts/2/label": "Field entries", "/versions/15/facts/3/label": "Documented flow contexts", "/versions/15/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/15/tables/0/title": "Wire fields in documented order", "/versions/15/related/0/label": "Protocol flow and exchange examples", "/versions/15/related/1/label": "Protocol overview", "/versions/15/related/2/label": "Simple Query", "/versions/15/related/3/label": "Extended Query", "/versions/15/related/4/label": "COPY Operations", "/versions/15/sections/0/title": "Framing and repetition", "/versions/15/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/15/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/15/tables/0/rows/2/c1": "String", "/versions/15/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/15/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/15/tables/0/columns/0/label": "Position", "/versions/15/tables/0/columns/1/label": "Format", "/versions/15/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "5fe86ba9be488983c92e40c801afe6970b672dc381f33aec03a7afc0f51a65f3", "canonical_center_text_hash": "4a7239f6a0e4521298d02832c0220ae117033c86307fbb77e2912b515c9c3dd4"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "019b4a212cb1c5ea4fd6978a8a4e5292dd1fa76fe5434ed7f0bd4f0e354af19f", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "16": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/16/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/16/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "path": "protocol-message-formats.html", "label": "PostgreSQL 16 English manual", "sha256": "c15646b30727f469cdac3bd411e50dc9b14ee85982a9c9c8a2b3e16449b39a46"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "4839ba322435aae8b017cce12a6053ecf0cd532cf596b9d2eb86481c2ed7a3ab", "fragment_sha256": "8f8820f135e423bab42278771dd512fade7f148480aeafe054b5cb1b428c5b0a", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "9683447bd3031635713068e6c80cd42efbd7cb6d0ce1a5e6d9a288391b8e2ca9", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "16", "text_hash": "11f2946d7e781a367b0b4ff27074b743224cc76efafad61aca6d1df122641df9", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "4839ba322435aae8b017cce12a6053ecf0cd532cf596b9d2eb86481c2ed7a3ab", "fragment_sha256": "8f8820f135e423bab42278771dd512fade7f148480aeafe054b5cb1b428c5b0a", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "9683447bd3031635713068e6c80cd42efbd7cb6d0ce1a5e6d9a288391b8e2ca9", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span></dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span class=\"term\">Int32</span></dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span class=\"term\">String</span></dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MERGE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "16", "link_map": {"/zh/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE": "/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span></dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span></dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "9a0da6fbd153a7af87a27f672b3127d3e41244f475373b5685d0b9fcc1ce5e87", "content_hash": "11f2946d7e781a367b0b4ff27074b743224cc76efafad61aca6d1df122641df9", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/16/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/16/datatype-json.html", "method": "same-major semantic node", "sha256": "4d3ca6065016169a03abc9b3a57654fda5765ebb94074fa4eb578485f6807205", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/16/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "638e90eeb4ff3d56cd0c9c95e1203af6bb87aa147ec72623c9dd5eb4b9605ec3", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[8]"]}], "language": "zh", "original_text": {"/versions/16/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/16/facts/0/label": "Direction", "/versions/16/facts/0/value": "Backend \u2192 frontend", "/versions/16/facts/1/label": "First wire field", "/versions/16/facts/2/label": "Field entries", "/versions/16/facts/3/label": "Documented flow contexts", "/versions/16/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/16/tables/0/title": "Wire fields in documented order", "/versions/16/related/0/label": "Protocol flow and exchange examples", "/versions/16/related/1/label": "Protocol overview", "/versions/16/related/2/label": "Simple Query", "/versions/16/related/3/label": "Extended Query", "/versions/16/related/4/label": "COPY Operations", "/versions/16/sections/0/title": "Framing and repetition", "/versions/16/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/16/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/16/tables/0/rows/2/c1": "String", "/versions/16/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/16/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/16/tables/0/columns/0/label": "Position", "/versions/16/tables/0/columns/1/label": "Format", "/versions/16/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "ef270f8730262b7e9096792a40d6afa92ec832231611fa9a468b4856f291df27", "canonical_center_text_hash": "11f2946d7e781a367b0b4ff27074b743224cc76efafad61aca6d1df122641df9"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "019b4a212cb1c5ea4fd6978a8a4e5292dd1fa76fe5434ed7f0bd4f0e354af19f", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span></dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span></dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span></dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "17": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/17/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/17/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "path": "protocol-message-formats.html", "label": "PostgreSQL 17 English manual", "sha256": "3c0e7b8a1a8f7ec5026226eab83d6704b7c5199ec9ba1aaaf91ea517609eed4e"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "e8c9ba58e397deab7bd056f274a895a459624a355e846ab7cb026235b394e05e", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "517d2224bf556dc2e8e00e9d4baef9d36de53a3150e5e292ed72e3b8df9ddc00", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "17", "text_hash": "55b970f4aec731460f6d81c1a2075bca01beda51f6cd8bd35dee7a9432ac43dc", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "e8c9ba58e397deab7bd056f274a895a459624a355e846ab7cb026235b394e05e", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "517d2224bf556dc2e8e00e9d4baef9d36de53a3150e5e292ed72e3b8df9ddc00", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span class=\"term\">Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span class=\"term\">String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MERGE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "17", "link_map": {"/zh/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE": "/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "e22188e8f047b168d363025fe998ed42cd2285d431c86b8833628225a797c00d", "content_hash": "55b970f4aec731460f6d81c1a2075bca01beda51f6cd8bd35dee7a9432ac43dc", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/17/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/17/datatype-json.html", "method": "same-major semantic node", "sha256": "8d2627b39aa9ad8449221de824f0c89af32197e8db7972fbc03b43dfcd0e9a93", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/17/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "d6412ab936b8b40cbe8abcad969c38c282e7039b7b2c6805eb126a28008f973d", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[8]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/17/facts/0/label": "Direction", "/versions/17/facts/0/value": "Backend \u2192 frontend", "/versions/17/facts/1/label": "First wire field", "/versions/17/facts/2/label": "Field entries", "/versions/17/facts/3/label": "Documented flow contexts", "/versions/17/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/17/tables/0/title": "Wire fields in documented order", "/versions/17/related/0/label": "Protocol flow and exchange examples", "/versions/17/related/1/label": "Protocol overview", "/versions/17/related/2/label": "Simple Query", "/versions/17/related/3/label": "Extended Query", "/versions/17/related/4/label": "COPY Operations", "/versions/17/sections/0/title": "Framing and repetition", "/versions/17/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/17/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/17/tables/0/rows/2/c1": "String", "/versions/17/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/17/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/17/tables/0/columns/0/label": "Position", "/versions/17/tables/0/columns/1/label": "Format", "/versions/17/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "84aa7bfa6883ecad69e63b8fa3a1ef25febb1d86d69829adcf45aacaf4ffb26b", "canonical_center_text_hash": "55b970f4aec731460f6d81c1a2075bca01beda51f6cd8bd35dee7a9432ac43dc"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "019b4a212cb1c5ea4fd6978a8a4e5292dd1fa76fe5434ed7f0bd4f0e354af19f", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "18": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/18/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/18/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "path": "protocol-message-formats.html", "label": "PostgreSQL 18 English manual", "sha256": "53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "0be0a37b38d80c96c157ca9fcfe9222995654664aad8136f7ac2b1b552f6753a", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "a1d9b1347abc044c6a7aa16d1d1c55781917681fe6b4f11e1991e0b11e07f79c", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "18", "text_hash": "34b55957d17c9af23318345cf537aa9305fc4854753163cc1176c03900db93cc", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "0be0a37b38d80c96c157ca9fcfe9222995654664aad8136f7ac2b1b552f6753a", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "a1d9b1347abc044c6a7aa16d1d1c55781917681fe6b4f11e1991e0b11e07f79c", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span class=\"term\">Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span class=\"term\">String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MERGE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "18", "link_map": {"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "3458ca6d0ed73f0d176c4805c2b546d30917924d13a0aa5ddfb502bce82e7147", "content_hash": "34b55957d17c9af23318345cf537aa9305fc4854753163cc1176c03900db93cc", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/18/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/18/datatype-json.html", "method": "same-major semantic node", "sha256": "b9e8f98a0b5f2a4ec7b5197d02ab40c0ac0635a678c32728aaadd43cb4cd3766", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/18/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "add610bc3053cbc2f8d57b8a89e7e9d17dca8906d66221e9268c1dd1b390d0b5", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[8]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/18/facts/0/label": "Direction", "/versions/18/facts/0/value": "Backend \u2192 frontend", "/versions/18/facts/1/label": "First wire field", "/versions/18/facts/2/label": "Field entries", "/versions/18/facts/3/label": "Documented flow contexts", "/versions/18/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/18/tables/0/title": "Wire fields in documented order", "/versions/18/related/0/label": "Protocol flow and exchange examples", "/versions/18/related/1/label": "Protocol overview", "/versions/18/related/2/label": "Simple Query", "/versions/18/related/3/label": "Extended Query", "/versions/18/related/4/label": "COPY Operations", "/versions/18/sections/0/title": "Framing and repetition", "/versions/18/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/18/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/18/tables/0/rows/2/c1": "String", "/versions/18/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/18/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/18/tables/0/columns/0/label": "Position", "/versions/18/tables/0/columns/1/label": "Format", "/versions/18/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "783ca7d94ba94950c72a3da6fb2921ee6cfcbf34d73cffdbf654b4aa7bd40b8c", "canonical_center_text_hash": "34b55957d17c9af23318345cf537aa9305fc4854753163cc1176c03900db93cc"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "019b4a212cb1c5ea4fd6978a8a4e5292dd1fa76fe5434ed7f0bd4f0e354af19f", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "center_zh_rendered": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1('C')</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "19": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/19/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/19/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19rc1/postgresql-19rc1.tar.bz2", "label": "19rc1", "major": "19", "channel": "preview", "revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "sources": [{"url": "/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "path": "protocol-message-formats.html", "label": "PostgreSQL 19 English manual", "sha256": "2c15f7acfa00dccea808b6f5fc4406e3c41821ff2f6b2248c92a21d3b837500b"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "c7757832f98d9d448104b5321ace56ebfd57a45dc4795a1c5ab7985f6f61fb1c", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "a169a9fc7154b5ebe0b6e75dcb8680f1a01a1040a7bf6d102810f24319192103", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "19", "text_hash": "5a12fb28e1964cada6f8d53014a5c5a5fd306b2cd7127d500daae08bb62b2ad4", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "c7757832f98d9d448104b5321ace56ebfd57a45dc4795a1c5ab7985f6f61fb1c", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "a169a9fc7154b5ebe0b6e75dcb8680f1a01a1040a7bf6d102810f24319192103", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span class=\"term\">Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span class=\"term\">String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MERGE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "19", "link_map": {"/zh/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE": "/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "13fd4c13cd0e08cee9e69cbfad653c60d4cfd438fd54dc61adf93177791b9b4f", "content_hash": "5a12fb28e1964cada6f8d53014a5c5a5fd306b2cd7127d500daae08bb62b2ad4", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/19/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/19/datatype-json.html", "method": "same-major semantic node", "sha256": "3e9557f5a65838e08890f25b0cc62147ef278263efb1c2462b7906308771ae60", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/19/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "c1bf02758e5b347662df055d3c8807b753fab16fc7238ed640efe95863588bff", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[8]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/19/facts/0/label": "Direction", "/versions/19/facts/0/value": "Backend \u2192 frontend", "/versions/19/facts/1/label": "First wire field", "/versions/19/facts/2/label": "Field entries", "/versions/19/facts/3/label": "Documented flow contexts", "/versions/19/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/19/tables/0/title": "Wire fields in documented order", "/versions/19/related/0/label": "Protocol flow and exchange examples", "/versions/19/related/1/label": "Protocol overview", "/versions/19/related/2/label": "Simple Query", "/versions/19/related/3/label": "Extended Query", "/versions/19/related/4/label": "COPY Operations", "/versions/19/sections/0/title": "Framing and repetition", "/versions/19/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/19/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/19/tables/0/rows/2/c1": "String", "/versions/19/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/19/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/19/tables/0/columns/0/label": "Position", "/versions/19/tables/0/columns/1/label": "Format", "/versions/19/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "526bb3e02d687350964fc4224eabdfb5836964639edbe9209991d9408aad8c92", "canonical_center_text_hash": "5a12fb28e1964cada6f8d53014a5c5a5fd306b2cd7127d500daae08bb62b2ad4"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "019b4a212cb1c5ea4fd6978a8a4e5292dd1fa76fe5434ed7f0bd4f0e354af19f", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "previous_source_revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}}, "20": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/devel/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/devel/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sources": [{"url": "/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "path": "protocol-message-formats.html", "label": "PostgreSQL 20 English manual", "sha256": "139753a4086271f4e3eaec3d9dae795c6d6f73bf0af9ca2c02fc2c177e5526fd"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "bbca20c3d3805e49be06abbe10fde73aa69797265af25fde9edd06acdcac49cd", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "d207bd408261f999408fffb8a51cb538d4e563cb4e5a813f0b5750238fd2ad06", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "20", "text_hash": "934e42bd92bc4e334b51329658eb969e4275bcf7c1ca175d4c791673721ba61e", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "bbca20c3d3805e49be06abbe10fde73aa69797265af25fde9edd06acdcac49cd", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "d207bd408261f999408fffb8a51cb538d4e563cb4e5a813f0b5750238fd2ad06", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span class=\"term\">Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span class=\"term\">String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MERGE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "20", "link_map": {"/zh/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE": "/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "b1d23b6c96df079826bea5d3fcad7a86b253d99d7f3afe4bb6546acfec2f873d", "content_hash": "934e42bd92bc4e334b51329658eb969e4275bcf7c1ca175d4c791673721ba61e", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/devel/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/devel/datatype-json.html", "method": "same-major semantic node", "sha256": "0bfc34c3ea3eb808f83865871c3fdad1265f64037c9a9aab3fecc96f1d1632d1", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/devel/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "cacb5413fe2995ee79c58230881c08df2077aa918b5f243895b62e065ee7448e", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[8]"]}], "language": "zh", "original_text": {"/summary": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/category": "Backend messages", "/versions/20/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/20/facts/0/label": "Direction", "/versions/20/facts/0/value": "Backend \u2192 frontend", "/versions/20/facts/1/label": "First wire field", "/versions/20/facts/2/label": "Field entries", "/versions/20/facts/3/label": "Documented flow contexts", "/versions/20/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/20/tables/0/title": "Wire fields in documented order", "/versions/20/related/0/label": "Protocol flow and exchange examples", "/versions/20/related/1/label": "Protocol overview", "/versions/20/related/2/label": "Simple Query", "/versions/20/related/3/label": "Extended Query", "/versions/20/related/4/label": "COPY Operations", "/versions/20/sections/0/title": "Framing and repetition", "/versions/20/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/20/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/20/tables/0/rows/2/c1": "String", "/versions/20/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/20/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/20/tables/0/columns/0/label": "Position", "/versions/20/tables/0/columns/1/label": "Format", "/versions/20/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "6568112e90ff73b247a1d6ef02b439df5cceeeff5f005a22297e987fdeeac691", "canonical_center_text_hash": "934e42bd92bc4e334b51329658eb969e4275bcf7c1ca175d4c791673721ba61e"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "019b4a212cb1c5ea4fd6978a8a4e5292dd1fa76fe5434ed7f0bd4f0e354af19f", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "previous_source_revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}}}}, "snapshot": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/18/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/18/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-COPY", "label": "COPY \u64cd\u4f5c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "path": "protocol-message-formats.html", "label": "PostgreSQL 18 English manual", "sha256": "53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "0be0a37b38d80c96c157ca9fcfe9222995654664aad8136f7ac2b1b552f6753a", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "a1d9b1347abc044c6a7aa16d1d1c55781917681fe6b4f11e1991e0b11e07f79c", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "center_zh": {"title": "CommandComplete", "locale": "zh-Hans", "source": {"key": "commandcomplete-b", "locale": "zh-Hans", "version": "18", "text_hash": "34b55957d17c9af23318345cf537aa9305fc4854753163cc1176c03900db93cc", "collection": "protocol", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('C')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "3"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2\uff1bCOPY \u64cd\u4f5c"}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "anchor": "PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "protocol-message-formats.html", "extraction": "exact-definition", "source_hash": "0be0a37b38d80c96c157ca9fcfe9222995654664aad8136f7ac2b1b552f6753a", "fragment_sha256": "deef0a9ce6eddf7a309b50ca6ddfe9bb2324214a3700e11fe080fc277fe29e1d", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "a1d9b1347abc044c6a7aa16d1d1c55781917681fe6b4f11e1991e0b11e07f79c", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div class=\"variablelist\"><dl class=\"variablelist\"><dt><span class=\"term\">Byte1('C')</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span class=\"term\">Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span class=\"term\">String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code class=\"literal\">INSERT <em class=\"replaceable\"><code>oid</code></em>\n<em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em class=\"replaceable\"><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em class=\"replaceable\"><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em class=\"replaceable\"><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">DELETE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">UPDATE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MERGE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">SELECT</code> \u6216 <code class=\"command\">CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">SELECT <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">MOVE <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code class=\"literal\">FETCH <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code class=\"command\">COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code class=\"literal\">COPY <em class=\"replaceable\"><code>rows</code></em></code>\uff0c\u5176\u4e2d <em class=\"replaceable\"><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span class=\"productname\">PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "version": "18", "link_map": {"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE"}, "body_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "3458ca6d0ed73f0d176c4805c2b546d30917924d13a0aa5ddfb502bce82e7147", "content_hash": "34b55957d17c9af23318345cf537aa9305fc4854753163cc1176c03900db93cc", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "direction": "B", "signature": "CommandComplete (B)", "tables_zh": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('C')", "c2": "\u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "\u5b57\u7b26\u4e32", "c2": "\u547d\u4ee4\u6807\u7b7e\uff0c\u901a\u5e38\u662f\u6807\u8bc6\u5df2\u5b8c\u6210 SQL \u547d\u4ee4\u7684\u4e00\u4e2a\u5355\u8bcd\u3002\u5bf9\u4e8e INSERT\uff0c\u6807\u7b7e\u4e3a INSERT oid rows\uff0crows \u662f\u63d2\u5165\u884c\u6570\u3002oid \u8fc7\u53bb\u5728 rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OID \u65f6\u8868\u793a\u6240\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff1b\u7531\u4e8e OID \u7cfb\u7edf\u5217\u5df2\u4e0d\u518d\u53d7\u652f\u6301\uff0coid \u59cb\u7ec8\u4e3a 0\u3002\u5bf9\u4e8e DELETE\uff0c\u6807\u7b7e\u4e3a DELETE rows\uff0crows \u662f\u5220\u9664\u884c\u6570\u3002\u5bf9\u4e8e UPDATE\uff0c\u6807\u7b7e\u4e3a UPDATE rows\uff0crows \u662f\u66f4\u65b0\u884c\u6570\u3002\u5bf9\u4e8e MERGE\uff0c\u6807\u7b7e\u4e3a MERGE rows\uff0crows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS\uff0c\u6807\u7b7e\u4e3a SELECT rows\uff0crows \u662f\u68c0\u7d22\u884c\u6570\u3002\u5bf9\u4e8e MOVE\uff0c\u6807\u7b7e\u4e3a MOVE rows\uff0crows \u662f\u6e38\u6807\u4f4d\u7f6e\u79fb\u52a8\u7684\u884c\u6570\u3002\u5bf9\u4e8e FETCH\uff0c\u6807\u7b7e\u4e3a FETCH rows\uff0crows \u662f\u4ece\u6e38\u6807\u68c0\u7d22\u7684\u884c\u6570\u3002\u5bf9\u4e8e COPY\uff0c\u6807\u7b7e\u4e3a COPY rows\uff0crows \u662f\u590d\u5236\u884c\u6570\uff1b\u884c\u6570\u4ec5\u5728 PostgreSQL 8.2 \u53ca\u4ee5\u540e\u7248\u672c\u4e2d\u51fa\u73b0\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "description": ["Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09"], "manual_html": "", "manual_path": "/docs/18/protocol-message-formats.html", "sections_zh": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/18/datatype-json.html", "method": "same-major semantic node", "sha256": "b9e8f98a0b5f2a4ec7b5197d02ab40c0ac0635a678c32728aaadd43cb4cd3766", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/18/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "add610bc3053cbc2f8d57b8a89e7e9d17dca8906d66221e9268c1dd1b390d0b5", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[0]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[2]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[4]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[6]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[33]/div[0]/dl[0]/dd[5]/p[8]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "CommandComplete is a backend protocol message. Identifies the message as a command-completed response.", "/versions/18/facts/0/label": "Direction", "/versions/18/facts/0/value": "Backend \u2192 frontend", "/versions/18/facts/1/label": "First wire field", "/versions/18/facts/2/label": "Field entries", "/versions/18/facts/3/label": "Documented flow contexts", "/versions/18/facts/3/value": "Simple Query; Extended Query; COPY Operations", "/versions/18/tables/0/title": "Wire fields in documented order", "/versions/18/related/0/label": "Protocol flow and exchange examples", "/versions/18/related/1/label": "Protocol overview", "/versions/18/related/2/label": "Simple Query", "/versions/18/related/3/label": "Extended Query", "/versions/18/related/4/label": "COPY Operations", "/versions/18/sections/0/title": "Framing and repetition", "/versions/18/tables/0/rows/0/c2": "Identifies the message as a command-completed response.", "/versions/18/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/18/tables/0/rows/2/c1": "String", "/versions/18/tables/0/rows/2/c2": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)", "/versions/18/sections/0/paragraphs/0": "The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter.", "/versions/18/tables/0/columns/0/label": "Position", "/versions/18/tables/0/columns/1/label": "Format", "/versions/18/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "783ca7d94ba94950c72a3da6fb2921ee6cfcbf34d73cffdbf654b4aa7bd40b8c", "canonical_center_text_hash": "34b55957d17c9af23318345cf537aa9305fc4854753163cc1176c03900db93cc"}, "description_zh": "Byte1('C') \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002 Int32 \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002 String \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002 \u5bf9\u4e8e INSERT \u547d\u4ee4\uff0c\u6807\u7b7e\u662f INSERT oid rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c rows \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 oid \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 oid \u603b\u662f 0\u3002 \u5bf9\u4e8e DELETE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f DELETE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e UPDATE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f UPDATE rows \uff0c\u5176\u4e2d rows \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MERGE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MERGE rows \uff0c\u5176\u4e2d rows \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002 \u5bf9\u4e8e SELECT \u6216 CREATE TABLE AS \u547d\u4ee4\uff0c\u6807\u7b7e\u662f SELECT rows \uff0c\u5176\u4e2d rows \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002 \u5bf9\u4e8e MOVE \u547d\u4ee4\uff0c\u6807\u7b7e\u662f MOVE rows \uff0c\u5176\u4e2d rows \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002 \u5bf9\u4e8e FETCH \u547d\u4ee4\uff0c\u6807\u7b7e\u662f FETCH rows \uff0c\u5176\u4e2d rows \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002 \u5bf9\u4e8e COPY \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a COPY rows \uff0c\u5176\u4e2d rows \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 PostgreSQL 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09", "comparison_data": {"fields": [{"format": "Byte1('C')", "description": "Identifies the message as a command-completed response."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The command tag. This is usually a single word that identifies which SQL command was completed. For an INSERT command, the tag is INSERT oid rows , where rows is the number of rows inserted. oid used to be the object ID of the inserted row if rows was 1 and the target table had OIDs, but OIDs system columns are not supported anymore; therefore oid is always 0. For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted. For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated. For a MERGE command, the tag is MERGE rows where rows is the number of rows inserted, updated, or deleted. For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved. For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by. For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor. For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)"}], "direction": "B"}, "comparison_hash": "019b4a212cb1c5ea4fd6978a8a4e5292dd1fa76fe5434ed7f0bd4f0e354af19f", "manual_language": "zh", "description_zh_html": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1(&#39;C&#39;)</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "center_zh_rendered": "<p>\u534f\u8bae\u6d88\u606f CommandComplete (B)\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><div><dl><dt><span>Byte1('C')</span> </dt><dd><p>\n         \u5c06\u8be5\u6d88\u606f\u6807\u8bc6\u4e3a\u547d\u4ee4\u5b8c\u6210\u54cd\u5e94\u3002\n        </p></dd><dt><span>Int32</span> </dt><dd><p>\n         \u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002\n        </p></dd><dt><span>String</span> </dt><dd><p>\n        \u547d\u4ee4\u6807\u7b7e\u3002\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u7528\u6765\u6807\u8bc6\u5df2\u5b8c\u6210\u7684 SQL \u547d\u4ee4\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>INSERT</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f\n        <code>INSERT <em><code>oid</code></em>\n<em><code>rows</code></em></code>\uff0c\u5176\u4e2d\n        <em><code>rows</code></em> \u662f\u63d2\u5165\u7684\u884c\u6570\u3002\u5982\u679c <em><code>rows</code></em> \u4e3a 1 \u4e14\u76ee\u6807\u8868\u5177\u6709 OIDs\uff0c\u5219 <em><code>oid</code></em> \u66fe\u7ecf\u662f\u63d2\u5165\u884c\u7684\u5bf9\u8c61 ID\uff0c\u4f46\u4e0d\u518d\u652f\u6301 OIDs \u7cfb\u7edf\u5217\uff1b\u56e0\u6b64 <em><code>oid</code></em>\n        \u603b\u662f 0\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>DELETE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>DELETE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>UPDATE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>UPDATE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u66f4\u65b0\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MERGE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MERGE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>SELECT</code> \u6216 <code>CREATE TABLE AS</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>SELECT <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u68c0\u7d22\u5230\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>MOVE</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>MOVE <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u8868\u793a\u6e38\u6807\u4f4d\u7f6e\u6539\u53d8\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>FETCH</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u662f <code>FETCH <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u4ece\u6e38\u6807\u4e2d\u68c0\u7d22\u51fa\u7684\u884c\u6570\u3002\n       </p><p>\n        \u5bf9\u4e8e <code>COPY</code> \u547d\u4ee4\uff0c\u6807\u7b7e\u4e3a <code>COPY <em><code>rows</code></em></code>\uff0c\u5176\u4e2d <em><code>rows</code></em> \u662f\u590d\u5236\u7684\u884c\u6570\u3002\uff08\u6ce8\u610f\uff1a\u884c\u6570\u4ec5\u51fa\u73b0\u5728 <span>PostgreSQL</span> 8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u4e2d\u3002\uff09\n       </p></dd></dl></div></dd><p><a href=\"/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-COMMANDCOMPLETE\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}