| Fábio 的个人资料The Opera Summary日志列表网络 | 帮助 |
|
|
10月17日 Comando MERGE do SQL Server 2008Estive recentemente adotando uso em massa do comando MERGE, novidade do SQL Server 2008, que facilita enormemente o trabalho de sincronização de dados entre tabelas. Para projetos de construção de Data Warehouses, ele economiza muitas linhas de código e simplifica muito a lógica da sincronização de dados. Vamos direto para um exemplo prático. Suponha uma tabela Empresa de destino: create table Empresa ( A origem dos dados está em um arquivo SIGAMAT.EMP, de estrutura DBF, como ocorre no Sistema Microsiga. A consulta a seguir retorna os dados da origem, diretamente do arquivo DBF: select m0_codigo as codigoEmpresa, m0_nome as nomeEmpresa, m0_codfil as codigoFilial, m0_filial as nomeFilial O comando MERGE para sincronizar o destino de acordo com os dados da origem fica assim: MERGE Empresa AS dst Logo em seguida ao comando MERGE é definida a tabela de destino, criando um alias (apelido), neste caso dst. Em seguida, a cláusula USING define a origem dos dados, que é a consulta ao DBF mencionada acima. Também é importante identificar a origem por um apelido, neste caso src. A cláusula ON identifica o critério de JOIN entre origem e destino, no caso pelos campos de código de empresa e código de filial. A cláusula WHEN MATCHED indica o que deve ser feito caso haja uma correspondência entre origem e destino (no caso, normalmente se deseja atualizar um ou mais campos). A cláusula WHEN NOT MATCHED BY SOURCE indica o que deve ser feito quando o registro existe no destino mas não existe na origem. Quando se deseja manter o sincronismo, é preferível excluir o registro no destino, como é o caso deste exemplo. A cláusula WHEN NOT MATCHED indica o que deve ser feito quando o registro não existe no destino. Em geral, deve-se inserir dados. Pode-se também usar a cláusula opcional OUTPUT, para mostrar a ação executada usando a palavra-chave $action e exibindo campos das tabelas virtuais inserted e deleted, que possuem a mesma estrutura dos dados manipulados. Este é um exemplo bastante simples, embora bastante prático e útil em nossos projetos de BI com Microsiga. O comando MERGE possibilita o tratamento de sincronização de dados em diversos outros cenários mais complexos. 10月2日 Rosario e SQL Server 2008 SetupA Microsoft apresentará este mês um CTP (Community Technology Preview) na PDC (Professional Developers' Conference) para o "Rosario", ou Visual Studio 2010. Chama a atenção o destaque para metodologias ágeis de desenvolvimento, .NET Framework 4.0 e uso do mecanismo do Reporting Services 2008. Mais detalhes em: http://reddevnews.com/news/devnews/article.aspx?editorialsid=1145 Como solucionar problemas de instalação do SQL Server 2008 antes de rodar o setup.exe: |
|
|