Pergunta

Eu tenho trabalhado em várias aplicações que salvaram dados XML em um banco de dados. Até à data todos eles simplesmente substituiu o conteúdo XML atuais com o novo conteúdo XML.

Gostaria de salvar as alterações para o XML para o banco de dados, mas não substituir o que está atualmente no DB.

curta de apenas criar novas linhas para mudanças e deixando as linhas antigas intactas, que outras opções que eu poderia usar?

Já pensou em apenas salvando as diferenças como as diferenças no texto reais, o que nem sempre funciona para XML.

nozes Am I para mesmo querendo isso?

Foi útil?

Solução

Você pode querer considerar a adição de uma tabela de auditoria para se sentar ao lado de sua tabela de dados.

Ele teria apenas as colunas que você está interessado em acompanhar a história da juntamente com uma coluna de data e hora (para registrar a data da mudança) e, normalmente, você quer alguma informação do utilizador, bem como (ou seja, puxar o usuário conectado a partir da conexão ou fornecer um nome de usuário em seu insert / update).

Em seguida, criar um disparador de atualização na sua tabela de dados e inserir novas linhas em sua tabela de auditoria da mesa pseudo excluído. Este conterá os dados antes de uma atualização se você estiver executando uma atualização desde uma atualização é realmente uma exclusão e uma inserção.

Há também esta solução objectivo mais geral que propõe a utilização de SQL CLR para longe abstrato implementação de uma tabela de auditoria única e gatilho para cada tabela de dados que você deseja auditoria: http://www.sqljunkies.ddj.com/Article/4CD01686-5178-490C-A90A-5AEEF5E35915.scuk

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top