- Este tópico contém 7 respostas, 3 vozes e foi atualizado pela última vez 14 anos, 8 meses atrás por
rman.
-
AutorPosts
-
22 de junho de 2011 às 6:48 pm #99771
mpvargas
ParticipanteBom dia amigos,
Me deparei com uma dúvida?
No sistema que usamos existe um campo chamado R_E_C_N_O_…
esse campo incrementa 1 a cada registro adicionadoExiste esse campo ou algum similar no Oracle? Que no caso permita que eu faça uma busca por ele…
por exemplo, se eu quiser saber qual o registro ou linha nº 500 da tabela?Como os registros ficam gravados fisicamente na tabela?
Obrigado pela ajuda
22 de junho de 2011 às 7:40 pm #99772Ishii
ParticipanteOlá.
O campo R_E_C_N_O na verdade seria o similar a um ID interno da MER que você tem no seu app.
O Oracle como Banco de Dados armazena isso no rowid que seria um endereço físico de gravação nos blocos do datafile.
[]s Ishii
22 de junho de 2011 às 9:53 pm #99779mpvargas
ParticipanteIshii
É possível ler o ROWID dando um select, por exemplo?
22 de junho de 2011 às 10:59 pm #99782Ishii
ParticipanteOlá,
Sim!
select rowid, t.* from table t[]s Ishii
22 de junho de 2011 às 11:23 pm #99784mpvargas
ParticipanteIshii, fiz o teste abaixo
SQL> SELECT ROWID, R_E_C_N_O_ FROM CT2010 WHERE R_E_C_N_O_ BETWEEN 13436701 AND 13436705;
ROWID R_E_C_N_O_
AAC/FcAAAAAAQBxAAC 13436701
AAC/FcAAAAAAQBxAAF 13436702
AAC/FcAAAAAAQBxAAG 13436703
AAC/KNAAAAAASvfAAB 13436704Eu gostaria de saber se é possível comparar o rowid com o R_E_C_N_O_ por exemplo, para saber se a tabela está gravada fisicamente na sequencia correta…
O problema que estamos tendo é que suspeitamos que alguem apagou o R_E_C_N_O_ manualmente.23 de junho de 2011 às 1:23 am #99794rman
Participante[quote=”mpvargas”:3fsrfb6l]Ishii, fiz o teste abaixo
SQL> SELECT ROWID, R_E_C_N_O_ FROM CT2010 WHERE R_E_C_N_O_ BETWEEN 13436701 AND 13436705;
ROWID R_E_C_N_O_
AAC/FcAAAAAAQBxAAC 13436701
AAC/FcAAAAAAQBxAAF 13436702
AAC/FcAAAAAAQBxAAG 13436703
AAC/KNAAAAAASvfAAB 13436704Eu gostaria de saber se é possível comparar o rowid com o R_E_C_N_O_ por exemplo, para saber se a tabela está gravada fisicamente na sequencia correta…
O problema que estamos tendo é que suspeitamos que alguem apagou o R_E_C_N_O_ manualmente.[/quote]Não entendi, “…apagou o R_E_C_N_O_ manualmente.”
Apagaram linha da tabela, e tem R_E_C_N_O_ saltado ?
Deram update no R_E_C_N_O_ setando null ?
28 de junho de 2011 às 11:09 pm #99841mpvargas
ParticipanteDesculpe, me expressei mal
na verdade Apagaram linha da tabela, e tem R_E_C_N_O_ saltado
28 de junho de 2011 às 11:57 pm #99843rman
ParticipanteDescubriu alguma coisa ?
Se deletaram as linhas, provavelmente foi via banco direto, a aplicação não deleta de verdade, só da update na coluna D_E_L_E_T_
Muita gente tem acesso direto a base ?
-
AutorPosts
- Você deve fazer login para responder a este tópico.