DEFINE OPERATOR UPDATE_OPERATOR
DESCRIPTION 'Teradata PT UPDATE OPERATOR'
VARCHAR TargetTable = '************.ENC_RPTG_EDM_MTLY',
VARCHAR PrivateLogName = '**********.ENC_RPTG_EDM_MTLY_truncprivatelog',
VARCHAR TdpId = @TargetTdpId,
VARCHAR UserName = @TargetUserName,
VARCHAR UserPassword = @TargetUserPassword,
VARCHAR LogonMech = 'ldap',
VARCHAR DeleteTask = 'Y'
'DELETE FROM *********.ENC_RPTG_EDM_MTLY;'
TO OPERATOR( UPDATE_OPERATOR  );
I am using the above statement for delete the table before loading using TPT..I am using same script for 20 different scripts. Sometime i got the below error message and most of the all the scripts are running fine.
LOAD_OPERATOR: connecting sessions
EXPORT_OPERATOR: connecting sessions
LOAD_OPERATOR: preparing target table
LOAD_OPERATOR: TPT10508: RDBMS error 2636: ENC_RPTG_EDM_MTLY must be empty for Fast Loading.
LOAD_OPERATOR: disconnecting sessions
EXPORT_OPERATOR: disconnecting sessions
LOAD_OPERATOR: Total processor time used = '0.099986 Second(s)'
What i have to add in the update operator to prevent this error.?
I don't now what caused this error, but you shouldn't use the UPDATE operator to delete all rows from a table, better use the DDL operator instead.
Not sure why you provided a partial script with an Update operator when you are reporting an error message from the Load operator.
The error message indicates that you are trying to load a table with the Load operator, and the table is not empty (a requirement for the Load operator).
This error is also reported if you are trying to run a job with the Load operator against a target table that might be empty, but is locked by another job (or a previous job that aborted abnormally).