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}