Reputation: 111
I'm working with CSV files to load my Teradata database with .tpt
files in Unix. Is there any method to get the number of rows inserted on my tables? Like with any assistant, typical message X Rows Inserted
. What I want is to get that X. Thanks. Here is the code of one of my .tpt
files:
DEFINE JOB X_1
DESCRIPTION 'LOADING OF TABLE TABLE_1'
(
DEFINE SCHEMA X_1
(
_FIELD_1 VARCHAR(8)
,_FIELD_2 VARCHAR(20)
,_FIELD_3 VARCHAR(20)
);
DEFINE OPERATOR DDL_OPERATOR
TYPE DDL_OPERATOR
ATTRIBUTES
(
VARCHAR PrivateLogName = 'ddl_log'
,VARCHAR TdpId = @jobvar_TDP
,VARCHAR UserName = @jobvar_username
,VARCHAR UserPassword = @jobvar_password
,VARCHAR QueryBandSessInfo = @jobvar_QBSessInfo
,VARCHAR ErrorList = '3807'
);
DEFINE OPERATOR FILE_READER
TYPE DATACONNECTOR PRODUCER
SCHEMA X_1
ATTRIBUTES
(
VARCHAR PrivateLogName = 'dataconnector_log'
,VARCHAR DirectoryPath = @jobvar_datafiles_path
,VARCHAR FileName = @jobvar_file_load
,VARCHAR Format = 'Delimeted'
,VARCHAR TextDelimeter = '|'
,INTEGER SkipRows = 1
,VARCHAR OpenMode = 'Read'
);
DEFINE OPERATOR LOAD_OPERATOR
Type LOAD
SCHEMA *
ATTRIBUTES
(
VARCHAR PrivateLogName = 'load_op_log'
,VARCHAR TdpId = @jobvar_TDP
,VARCHAR UserName = @jobvar_username
,VARCHAR UserPassword = @jobvar_password
,INTEGER MaxSessions = @jobvar_maxsessions
,INTEGER ErrorLimit = 1
,VARCHAR Targettable = @jobvar_tgt_dbname || '.TABLE_1'
,VARCHAR LogTable = @jobvar_tgt_dbname || '.LG_TABLE_1'
,VARCHAR ErrorTable1 = @jobvar_tgt_dbname || '.ET_TABLE_1'
,VARCHAR ErrorTable2 = @jobvar_tgt_dbname || '.UV_TABLE_1'
);
STEP Setup_Tables
(
APPLY
('DROP TABLE ' || @jobvar_tgt_dbname || '.ET_TABLE_1;'),
('DROP TABLE ' || @jobvar_tgt_dbname || '.LG_TABLE_1;'),
('DROP TABLE ' || @jobvar_tgt_dbname || '.UV_TABLE_1;'),
('DROP TABLE ' || @jobvar_tgt_dbname || '.TABLE_1;'),
('CREATE MULTISET TABLE ' || @jobvar_tgt_dbname || '.TABLE_1
(
FIELD_1 VARCHAR(8) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
FIELD_2 VARCHAR(20) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
FIELD_3 VARCHAR(20) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL
)PRIMARY INDEX(FIELD_1, FIELD_2, FIELD_3);'
)
TO OPERATOR (DDL_OPERATOR);
);
STEP Load_TABLE_1_Table
(
APPLY
('INSERT INTO ' || @jobvar_tgt_dbname || '.TABLE_1
(
FIELD_1
,FIELD_2
,FIELD_3
)
VALUES
(
_FIELD_1
,_FIELD_2
,_FIELD_3
)
;')
)
)
Upvotes: 0
Views: 480
Reputation: 60472
You can extract information from the TPT log file for the job using the -f TWB_EVENTS
for tlogview
(For the Insert Count grep for LoadRowsInserted
).
Check the chapter on Operational Metadata in the TPT User Guide.
Depending on your Teradata release and the QueryLog setup you might find job details in the dbc.QryLogUtilityV
view, too.
Upvotes: 1