Postagens

Mostrando postagens de março, 2008

Pegar o momento de uma inserção através do SCN

Olá pessoal, me deparei estes dias com uma situação interessante. Um colega precisava descobrir o momento exato em que houve uma determinada inserção de um registro em uma tabela de movimentos de estoque de um cliente, mas o único campo de data da tabela guardava apenas dia/mês/ano, sem a hora. O Oracle não trabalha com datas diretamente em seus controles, pois a data do sistema operacional pode ser alterada e comprometer a sua consistência. Desta forma ele utiliza um número sequencial conhecido como SCN. Aí imaginei que houvésse uma forma de converter este SCN para um horário válido e fiz a seguinte pesquisa no banco, como usuário sys: select object_name from all_objects where upper(object_name) like '%SCN%' Esta consulta me retornou vários resultados, dentre eles o que chamou a atenção foi o SCN_TO_TIMESTAMP. Pesquisei no Google e verifiquei o uso desta função com a pseudo-coluna ORA_ROWSCN que armazena o SCN corrente no momento da inclusão do novo registro. Com isso utilize