Versão atual:

Número de versão item tabela pai x filho - SQL Server

Bom dia, alguém sabe me dizer qual é o motivo da campo "version" nas tabelas no SQL Server onde o Fluig grava os dados da tabela pai x filho?

Aparentemente ele sempre incrementa esse número de versão a cada vez que o processo é salvo. Estou fazendo algumas consultas diretamente no banco de dados e gostaria de saber se posso usar de regra, pegar o MAX(version) dos registros.

Abaixo segue um exemplo de consulta que estou fazendo diretamente no banco de dados:

SELECT DISTINCT

                            (RTRIM(DADOSFORM.NUMSOLICITACAO) + RTRIM(DADOSREQ.compCodFornecedor) + RTRIM(DADOSREQ.compCodCondicaoPagamento) + RTRIM(DADOSREQ.compCodTransportadora)) chave,
                            RTRIM(DADOSREQ.recCodProduto) codpro,
                            --DADOSREQ.recProduto,
                            RTRIM(DADOSREQ.RECCODCENTROCUSTO) c_custo, 
                            --DADOSREQ.RECPOSSIVELCENTROCUSTO,
                            RTRIM(DADOSREQ.CONCODCONTACONTABIL) c_contabil,
                            --DADOSREQ.CONCONTACONTABIL,
                            RTRIM(DADOSREQ.CONCODITEMCONTABIL) i_contabil,
                            --DADOSREQ.CONITEMCONTABIL,
                            RTRIM(DADOSREQ.RECGESTOR) gestor, 
                            RTRIM(DADOSREQ.compObs) obs,
                            RTRIM(DADOSREQ.compCodFornecedor) fornecedor,
                            RTRIM(DADOSREQ.compCodCondicaoPagamento) condpag,
                            RTRIM(DADOSREQ.compFrete) tp_frete,
                            RTRIM(DADOSREQ.compCodTransportadora) transp,
                            ROUND(CONVERT(FLOAT, DADOSREQ.compValorFrete),2) vlr_frete,
                            ROUND(CONVERT(FLOAT, DADOSREQ.COMPQUANTIDADE),2) qt_comprada,
                            RTRIM(DADOSREQ.COMPDTENTREGA) dt_entrega,
                            ROUND(CONVERT(FLOAT, DADOSREQ.compValorUnitario),2) vlr_unitario, 
                            ROUND(CONVERT(FLOAT, DADOSREQ.COMPIPI),2) perc_ipi,
                            ROUND(CONVERT(FLOAT, DADOSREQ.compValorIpi),2) vlr_ipi,
                            ROUND(CONVERT(FLOAT, DADOSREQ.compValorTotal),2) vlr_total

                            /*,


                            DADOSREQ.*,
                            */

                            --SUM(CONVERT(FLOAT, DADOSREQ.COMPQUANTIDADE) * CONVERT(FLOAT, DADOSREQ.COMPVALORUNITARIO))
                            --SUM(CONVERT(FLOAT, DADOSREQ.COMPVALORTOTAL)) 
                            --CONVERT(FLOAT, DADOSREQ.COMPVALORTOTAL) VALOR
                            --max(dadosreq.version) Vr
                            --CONVERT(FLOAT, DADOSREQ.COMPVALORUNITARIO)


                        FROM
                            FLUIG.DBO.ML001102 DADOSFORM WITH(NOLOCK)

                        INNER JOIN FLUIG.DBO.ML001105 DADOSREQ WITH(NOLOCK) ON
                            DADOSREQ.DOCUMENTID = DADOSFORM.DOCUMENTID 

                        WHERE 
                            NUMSOLICITACAO = $numeroRequisicao AND
                            (RTRIM(DADOSFORM.NUMSOLICITACAO) + RTRIM(DADOSREQ.compCodFornecedor) + RTRIM(DADOSREQ.compCodCondicaoPagamento) + RTRIM(DADOSREQ.compCodTransportadora)) = $chave AND
                            DADOSREQ.version = (

                                select  max(version) from FLUIG.DBO.ML001105 vr where vr.documentid = DADOSFORM.documentid
                            )

Outra dúvida, o registro é removido do banco de dados também quando deletado da tabela pai x filho no form?

Versão (1):

Ver a versão formatada

Número de versão item tabela pai x filho - SQL Server

Comentário

new question