Boa tarde Galera !
Estou com uma dúvida quanto a Inativar dados já existentes .
Tenho uma aplicação de movimentos já com seu fechamento feito ,ou seja, foi Commitada !
Eu preciso fazer uma reabertura da mesma mas com seus dados Inativos , detalhe que não posso deletar do banco .
Quem puder ajudar agradeço !
Inativar dados existentes !
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Japones,
Bem vindo a forum GLUFKE.
Pelo que pude entender, você deseja manter estes registros na base, mas gostaria de sinalizar os mesmos como inativos.
Uma coisa que você poderia fazer seria criar uma coluna de auditoria, indicando a "exclusão lógica" do registro.
Ex:
Tenho uma tabela com a seguinte estrutura:
Na teoria, para "deletar logicamente" o registro na tabela, você precisaria fazer um UPDATE do tipo:
Para evitar exclusão acidental de registros pelo DELETE, você precisaria criar uma TRIGGER para esta tabela, que efetuaria o UPDATE da coluna DH_EXCO da tabela toda a vez que um comando DELETE fosse acionado.
Abraços,
Sergio Coutinho
Bem vindo a forum GLUFKE.
Pelo que pude entender, você deseja manter estes registros na base, mas gostaria de sinalizar os mesmos como inativos.
Uma coisa que você poderia fazer seria criar uma coluna de auditoria, indicando a "exclusão lógica" do registro.
Ex:
Tenho uma tabela com a seguinte estrutura:
Você poderia neste caso criar uma terceira coluna de "exclusão lógica". Se ela estivesse populada, significaria que o registro se encontra inativo:Tabela TB_ALUNO
ID_ALUNO NUMBER(12) NOT NULL,
NO_ALUNO VARCHAR2(60) NOT NULL
Só que você precisaria rever todas as queries de sua aplicação, filtrando os registros ativos, como poe exemplo:Tabela TB_ALUNO
ID_ALUNO NUMBER(12) NOT NULL,
NO_ALUNO VARCHAR2(60) NOT NULL
DT_EXCLUSAO DATE NULL
SELECT ID_ALUNO,NO_ALUNO FROM TB_ALUNO WHERE DT_EXCLUSAO IS NOT NULL
UPDATE TB_ALUNO SET DT_EXCLUSAO = SYSDATE WHERE ID_ALUNO = <numero>
Abraços,
Sergio Coutinho
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 15 visitantes