DML文の行数のログ - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

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

挿入、更新、および削除の各操作の行数は、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}