Как я могу получить количество вставленных строк?

#database #csv #unix #teradata

#База данных #csv #unix #teradata

Вопрос:

Я работаю с файлами 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
            )
            ;')

    )
)
  

Комментарии:

1. @Ashish_Mahajan, простите за мое невежество, но где в исходном вопросе находится эта команда MySQL , на которую вы ссылаетесь?

Ответ №1:

Вы можете извлечь информацию из файла журнала TPT для задания, используя -f TWB_EVENTS for tlogview (для Grep для количества вставок LoadRowsInserted ). Проверьте главу о операционных метаданных в Руководстве пользователя TPT.

В зависимости от вашего выпуска Teradata и настройки журнала запросов вы также можете найти сведения о задании в dbc.QryLogUtilityV представлении.

Комментарии:

1. это то, к чему можно запросить аналогично этому заданию tlogview -j-seq -f TWB_EVENTS -w ‘TASKNAME=»LoadRowsInserted»‘? Я пытался сделать это без сбоев