How do i get auto incremental key from my sequence?

gowthamanrajendran

11-02-2020

I am trying to execute insert operation throught javascript method. 

 

var temp="INSERT INTO gowSampleDB(sSTG_ID,sATTRB_CD,sATTRB_VAL) VALUES ('9383677898998939','GOWTHAMANTEST','GOWTHAMTEST1')";
logInfo("My query :"+temp);
var strSql = sqlExec(temp);

 

 

but its throwing unique constraint exception. How do i refer to my sequence and get the next value to insert?

 

02/11/2020 12:50:57 PM WDB-200001 SQL statement 'INSERT INTO gowSampleDB(sSTG_ID,sATTRB_CD,sATTRB_VAL) VALUES ('9383677898998939','GOWTHAMANTEST','GOWTHAMTEST1')' could not be executed.


02/11/2020 12:50:57 PM PGS-220000 PostgreSQL error: ERROR: duplicate key value violates unique constraint "gowsampledb_id" DETAIL: Key (isampledbid)=(0) already exists.

Accepted Solutions (1)

Accepted Solutions (1)

Milan_Vucetic

MVP

12-02-2020

Hi @gowthamanrajendran ,

 

if your table has autopk defined as below (check table schema), you do not need to put it in your query, it will be increased automatically.

milanv69354962_0-1581494685154.png

If you are using your own column as primary key, then database will thrown an error if you try to import value which already exist.

Check as well, if you have unique index on some column.

 

Regards,

Milan

 

Answers (1)

Answers (1)

InderM

12-02-2020

Hi,

You can do it in schema, please check in schema, it should be configured like below

<element autopk="true" name="<yourUniqueFieldName>"
pkSequence="<yourSequenceName>" >

 

In javascript, you need to define it like below

var temp="INSERT INTO gowSampleDB(sSTG_ID,sATTRB_CD,sATTRB_VAL) VALUES ( yourSequenceName.NEXTVAL,'GOWTHAMANTEST','GOWTHAMTEST1')";
logInfo("My query :"+temp);
var strSql = sqlExec(temp);

 

Let me know if it works.

 

Regards,