INSERT Failed. 3813: The positional assignment list has too many values.

Database
Enthusiast

INSERT Failed. 3813: The positional assignment list has too many values.

Hi,

 

I have modified existining table(took BKP of data) and added new columns to it. When iam trying to insert data from BKP table to modified table i am getting the following error: INSERT Failed. 3813:  The positional assignment list has too many values. 

 

new columns are marked : '~!@', '~', '0001-01-01'

added 25 new columns to the existing table.

 

any solution provided will be much appricatiated, thank you. 

 

 


Accepted Solutions
Teradata Employee

Re: INSERT Failed. 3813: The positional assignment list has too many values.

What I said was that your insert statement contains 78 values - some constants, some from the backup table.  But you said the target table has 76 columns.  That is what the error message means - you can't insert 78 values into 76 columns.  You need to re-check your insert statement and match it up to the list of columns in the target table.

1 ACCEPTED SOLUTION
5 REPLIES
Teradata Employee

Re: INSERT Failed. 3813: The positional assignment list has too many values.

How many columns are in the target table, and how many values are you inserting?  Can you show the Insert statement that gets the error?

Highlighted
Enthusiast

Re: INSERT Failed. 3813: The positional assignment list has too many values.

Hello,

 

target table has 76 columns and i am inserting 1075048 rows.

 

SyntaxEditor Code Snippet

insert into DS_DATA.BM_M_TBL
select
DZ51_U4_MODEL_PGM_R, DZ51_U4_MODEL_PGM_EFF_IN_Y, DFE_t3__LEAD_INFRA_F, DFE_t3__LEAD_SUPPLIER_F, DT46_Z3_INP_INFRA_SITE_C, DT46_Z3_INP_INFRA_EFF_IN_Y, DT46_Z3_GSDB_INFRA_SITE_C, DT46_Z3_GSDB_INFRA_EFF_IN_Y, DT46_Z3_INP_MANUF_SITE_C, DT46_Z3_INP_MANUF_EFF_IN_Y, DT46_Z3_GSDB_SUPP_SITE_C, DT46_Z3_GSDB_SUPP_EFF_IN_Y, DZ20_g5_PART_PREFIX_R, DZ20_g5_PART_BASE_R, DZ20_g5_PART_SUFFIX_R, DZ20_g5_BUS_ID_K, DZ20_g5_PART_EFF_IN_Y, EDWT049_WERS_MODEL_C, EDWT049_WERSWIPSMODL_EFF_IN_Y, EDWT069_JOB_C, EDWT069_JOB_EFF_IN_Y, DFE_t3__PROD_VERIFY_Y, DFE_t3__CHALLENGE_C, DFE_t3__CHALLENGE_TYP_X, DFE_t3__PPR_SENT_Y, DFE_t3__VEH_PGM_DESC_X, DFE_t3__VEH_MODEL_YR_X, DFE_t3__PROD_VERIF_C, DFE_t3__LST_NOTICE_C, DFE_t3__FUNCTION_C, DFE_t3__BLD_PHASE3_C, DFE_t3__BLD_PHASE3_Y,'~!@','~!@','~!@','~!@','~!@','~!@','~!@','~!@','~!@','~!@','~!@','~!@','~','0001-01-01','0001-01-01','~','0001-01-01','~','0001-01-01','0001-01-01','~','0001-01-01','~','0001-01-01','0001-01-01','~','0001-01-01','~','0001-01-01','0001-01-01','~','0001-01-01','~','~','~','~','~','~!@','~',DFE_t3_EFF_IN_Y, DFE_t3__EFF_OUT_Y, DFE_t3__SRC_SYS_C, DFE_t3__CREATE_PROC_R, DFE_t3__CREATE_S, DFE_t3__LAST_UPDT_PROC_R, DFE_t3__LAST_UPDT_S
from
DS_DATA.BM_M_TBLBKP1;

 

Teradata Employee

Re: INSERT Failed. 3813: The positional assignment list has too many values.

You are selecting 78 values to insert.  Too many '~!@' ?

Enthusiast

Re: INSERT Failed. 3813: The positional assignment list has too many values.

But the new columns dosent have any data and i have to insert '~!@', '~', etc., into the new columns.

 

Whereas the old columns will get data from BKP table.

 

any soultion to overcome this issue? thank you.  

Teradata Employee

Re: INSERT Failed. 3813: The positional assignment list has too many values.

What I said was that your insert statement contains 78 values - some constants, some from the backup table.  But you said the target table has 76 columns.  That is what the error message means - you can't insert 78 values into 76 columns.  You need to re-check your insert statement and match it up to the list of columns in the target table.