Registros deletados

Firebird

01/11/2005

Como faço para visualizar os registros deletados de uma tabela FB
Abs


Felipeiw

Felipeiw

Curtidas 0

Respostas

Afarias

Afarias

01/11/2005

|Como faço para visualizar os registros deletados de uma tabela FB

não faz. se foram excluídos já não estão mais lá (disponíveis).


T+


GOSTEI 0
Firekiller

Firekiller

01/11/2005

Você poderia usar a técnica do velho clipper... criar um campo (na estrutura dos dbf´s era deleted), e quando esse campo tiver com um valor diferente de vazio (ou de um valor que você estipular), você considera-o como excluído.


GOSTEI 0
Luizneto

Luizneto

01/11/2005

Como faço para não eliminar o registro pelo navigator, apenas marcar o registro com um campo com um flag de ELIMINADO. Tentei usar BeforeDelete, mas não funcionou.


GOSTEI 0
Firekiller

Firekiller

01/11/2005

Tente aí... no Before Delete:

Tabela.Edit;
Tabela.FieldByName(´Deletado´).AsString := ´S´;
Tabela.Post;
Transacao.CommitRetaining;
Abort;


Não sei se funciona... teste e diga se funcionou.


GOSTEI 0
Adrinei

Adrinei

01/11/2005

afarias, não porderia ser usado row_count nesta situação?


GOSTEI 0
Afarias

Afarias

01/11/2005

|afarias, não porderia ser usado row_count nesta situação?

row_count ?? e o q seria isso (nesta situação) ??


T+


GOSTEI 0
Adrinei

Adrinei

01/11/2005

Row_count

´É possível saber quantas linhas foram afetadas pela execução de um comando de DML checando a variável ROW_COUNT logo após a execução do comando. Essa variável pode ser checada dentro de triggers e stored procedures. Ex.:
update produtos set estoque=estoque+:qtde where codprod=:meuproduto;
if (row_count=0) then exception exc_notfound ´Não foi possível atualizar o estoque para o produto´ || :meuproduto;´
Cantu. Firebird Essencial. p.25-26.

Após um delete não poderíamos usar essa variável?


GOSTEI 0
Afarias

Afarias

01/11/2005

|Após um delete não poderíamos usar essa variável?

sim mas... ele não quer saber QUANTOS registros um comando DELETE afetou. Ele quer poder ter acesso a registros q foram deletados (ver ou até dar um un-delete sei lá) -- pelo menos é isso q eu entendi da questão.

(ah, e é bom especificar q row_count só está disponível a partir do fb 1.5)


T+


GOSTEI 0
Adrinei

Adrinei

01/11/2005

Lembra do dBase III Plus? Tinha delete (que marcava com um asterisco) e o pack para apagar os deletados... acho que o clipper trabalhava assim tb!


GOSTEI 0
Afarias

Afarias

01/11/2005

|Tinha delete (que marcava com um asterisco) e o pack para apagar os
|deletados... acho que o clipper trabalhava assim tb!

sim, mas o IB não.

(na verdade, até faz algo assim... mas nào tem como via um SQL por exemplo vc ter acesso aos registros marcados como excluido)


T+


GOSTEI 0
POSTAR