Fernanda Sallai

Blog de desenvolvimento e negócios.

SQL Server Saturday Night – 2ª edição

Dia 16/01/2010 acontecerá um WebCast super bacana.

Veja a programação:

17:55 - 18:00 >> Abertura do Evento

18:00 - 18:50 >> "Integrando dados do SQL Server 2008 no Sharepoint 2007" - Marcelo Sincic

18:50 - 19:40 >> "O que voce queria saber sobre Filestream mas não sabia aonde encontrar" - Vitor Fava/Alexandre Lopes

19:40 - 20:30 >> “Preveja o Futuro com os Add-ins de Data Mining do Office 2007” - Thiago Zavaschi

20:30 - 21:20 >> “SQL Server Powershell Extensions” - Laerte Jr

21:20 - 22:10 >> “Usando o SSIS como ferramenta de integração de aplicações” – Roberto Fonseca

22:10 - 23:00 >> “Acesso a dados com LINQ” - Agnaldo Diogo dos Santos

23:00 – 23:10 >> Encerramento do Evento

Para se inscrever acesse http://brasildotnet.ning.com/xn/detail/3293082:Event:2431?xg_source=activity

Eu já me inscrevi... Até o sábado....

Como criar uma Trigger

Resolvi criar este post porque estava pesquisando sobre criação de trigger e na web os exemplos que encontrei achei um pouco confusos, espero que este post esclareça as dúvidas que surgirem.

  • Conceito

Trigger ou gatilho é um recurso que é executado quando existir alguma modificação na tabela.

  • Motivo do uso

Estamos fazendo a migração de um projeto para um cliente, porém temos que tomar um certo cuidado porque o cliente irá utilizar o site antigo e o novo.

O cliente quer migrar o site da intranet conforme o da internet e queremos utilizar o mesma solução, mas para isso precisamos deixar os bancos de dados compatíveis sem afetar o site da intranet antigo. Por exemplo na tabela eventos na intranet temos a coluna Evt_Description e na internet a coluna Description, então criaremos na intranet a coluna Description e criar uma trigger para receber os valores que a Evt_Description receber na hora da inserção e atualização.

  • Criação da tabela

CREATE TABLE [dbo].[Events](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NULL,
[Date] [datetime] NULL,
[Evt_Description] [text] NULL,
[Description] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END

  • Criação da trigger

//Criando uma trigger chamada TR_EVENTOS

CREATE TRIGGER TR_EVENTOS

//Na tabela events
ON EVENTS

//Depois que for realizado a inserção ou alteração dos dados

//Pode usar o BEFORE que significa antes de realizado a alteração na tabela real
AFTER INSERT,UPDATE
AS
BEGIN

SET NOCOUNT ON;

//Alterar na tabela events

UPDATE EVENTS

//Campo description receberá o valor do campo evt_description
SET DESCRIPTION = EVT_DESCRIPTION

//Quando o ID estiver no intervalo do resultado da sub query
WHERE ID IN (
SELECT ID

//INSERTED é uma tabela temporária que irá conter os resultados da busca
FROM INSERTED
)
END

GO

Sobre mim...

Olá… Meu nome é Fernanda Sallai. Bacharel em Sistemas de Informação e atuo na área de desenvolvimento.

Colaboradora do Portal Linha de Código e editora da revista Codificando.Net.

Estou sempre em busca de novos conhecimentos e espero compartilhá-los aqui no blog.

Obrigada pela visita e bons estudos.