Я работаю с файлами CSV, чтобы загрузить базу данных Teradata с файлами .tpt
в Unix. Есть ли способ получить количество строк, вставленных в мои таблицы? Как и с любым помощником, типичное сообщение X Rows Inserted
. То, что я хочу, это получить этот X. Спасибо. Вот код одного из моих .tpt
файлов:
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
)
;')
)
)