16.20 - DML文の行数のログ - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)

BEGIN QUERY LOGGINGを指定すると、DBQLogTblのDML文の行数を単一または複数文リクエストに対して記録できます。 <Teradata Vantage™ SQLデータ定義言語 - 構文規則および例、B035-1144>の「BEGIN QUERY LOGGING」を参照してください。

挿入、更新、および削除の各操作の行数は、DBC.QryLogVビューとDBC.QryLogV_SZセキュリティ ゾーン ビューのStmtDMLRowCount列に記録されます(ストアド プロシージャ、外部ストアド プロシージャ、Teradata Parallel Transporter、MultiLoad、およびFastLoad操作を含む)。数はJSON形式で格納されます。JSON関数を使用して、ビューからデータを抽出できます。 <Teradata Vantage™ JSONデータ型、B035-1150>を参照してください。

例: DML操作の行数の表示

この例のテーブル定義は、次のとおりです。

CREATE TABLE t1 (a1 INTEGER, b1 INTEGER, c1 INTEGER);

クエリーのロギングを開始するには、この文を使用します。

BEGIN QUERY LOGGING ON ALL;

次の文は、挿入、更新、および削除の各操作を実行します。

INSERT INTO t1 VALUES (1,2,3);
UPDATE t1 SET C1 = 10;
DELETE FROM t1;

この文は、クエリーのロギングを終了します。

END QUERY LOGGING ON ALL;

ここで、DBCデータベース内のQryLogVビューのStmtDMLRowCount列を照会して、変更された行の数を表示することができます。

SELECT StmtDMLRowCount FROM DBC.QryLogV;
StmtDMLRowCount
---------------------------------------
{"Insert":1}
{"Update":1}
{"Delete":1}