Et bien, en premier lieu il te faut définir une séquence dans ta base Oracle.
(Si tu n'as pas de lignes dans ta table)
CREATE SEQUENCE nom_de_la_sequence START WITH 1 INCREMENT BY 1;
(Si tu as déjà des lignes dans ta table)
CREATE SEQUENCE nom_de_la_sequence START WITH (select max( CHAMP_ID_CIBLE) from TABLE_CIBLE) INCREMENT BY 1;
Une fois ta séquence déclarée dans ta base Oracle :
Soit tu insères explicitement la prochaine valeur de la séquence via le "additionnal column" de ton tOracleOutput en lui spécifiant la valeur nom_de_la_sequence.nextval
Soit dans ta table où ton id est déclaré, tu lui donne une valeur DEFAULT correspondant à la valeur suivante de la séquence.
ALTER TABLE_CIBLE modify CHAMP_ID_CIBLE integer default nom_de_la_sequence.nextval
Dans ce cas, il te suffit, dans ton tOracleOutput d'omettre le champ ID dans le flux que tu lui envois. Par défaut, la valeur de l'ID correspondra donc à l'incrément de la séquence (valeur default de ta colonne).
Partager