1
resposta

INSERT COM KNEX.JS

Estou tentando fazer um INSERT em uma tabela onde o campo R_E_C_N_O_ sempre será o SELECT MAX(R_E_C_N_O_)+1 FROM TAB. Estou utilizando o node.js com a knex.js. Como faço um INSERT TAB ( COLUN1,R_E_C_N_O_) VALUES ("DADOS1", ( SELECT MAX(R_E_C_N_O_)+1 FROM TAB ) ) USANDO O KNEX.JS ??

só consegui fazendo conforme o codigo abaixo:

 var rec =  await knex('ZCH010').max('R_E_C_N_O_' , {as: 'a'}) ;   
                                const dtInsert = {
                                    ZCH_FILIAL: '01',
                                    ZCH_IDDISP: '40001',
                                    ZCH_DATA: getDataStr(),
                                    ZCH_MAT: data.MATRICULA,
                                    ZCH_ACAO: direcao,
                                    ZCH_HORA: getHora(),
                                    ZCH_EVENTO: 'ACE001',
                                    D_E_L_E_T_: '',
                                    R_E_C_N_O_: ++rec[0].a
                                }

                                var ins = await knex('ZCH010') 
                                 .insert(dtInsert); 

insira seu código aqui
1 resposta

Oi Claudio, tudo bem? Eu quero te ajudar, mas confesso que esse código não me diz muita coisa sobre o que está acontecendo e sobre o que você quer fazer. Desconheço o Knex, mas vou investigar com você possíveis soluções.