Pergunta : O disparador do SQL 2005, emite o correio, junta-se a tabelas

Eu tenho um disparador construído (abaixo) que envie por correio electrónico alguém quando um campo muda em uma tabela. Agora, eu preciso de adicionar dados de uma outra tabela no mesmo DB, assim como os dados de uma tabela em um outro DB, no corpo do
In de email.
o mesmo DB mim têm uma tabela chamada Fornecedor. o

In um outro DB eu tenho uma tabela chamada Produto. necessidade do

I de juntar-se a um campo (SupplierID) da tabela neste disparador (inventário) com um campo em fornecedores da tabela (SupplierID) assim eu posso começ o nome do fornecedor, que está em fornecedores da tabela (SupplierName). o

In o outro DB, produtos da tabela tem o nome do produto (ProductName). linha do

Bottom, na necessidade de indicar, além do que o sku e outros dados já no disparador, no nome do fornecedor e no produto name.

All que estas tabelas se juntarão em um campo comum (SKU). o

Can isto seja feito? class= " lineNumbers " >
1 do >
set codeBody ANSI_NULLS do " prettyprint " " do class= do id= " codeSnippet836306 do >
-- Criar a data: Data do 
-- Descrição:	
-- =============================================
ALTERAR O DISPARADOR [dbo]. [Cost_Change]
   EM [dbo]. [Inventário] 
   APÓS A ATUALIZAÇÃO
COMO 
COMEÇAR
	
	AJUSTAR NOCOUNT SOBRE;
	--se atualização (custo)
	se existe (deleted.cost seletos de interno suprimido juntam-se introduzido no suprimido. Local_sku = inserted.local_sku onde <> inserted.cost de deleted.cost)
    Começar
     Introduzir em Audit_Cost (username, “quando”, SKU, velho, novo) SUSER_SNAME seleto (), GetDate (), inserted.local_sku, deleted.cost, inserted.cost de interno introduzido juntam-se suprimido em inserted.local_sku = deleted.local_sku
	
	  DECLARAR O @TABLEHTML NVARCHAR (MAX);
	  Declarar o @sku nvarchar (50);
	  Declarar o dinheiro do @old;
	  Declarar o dinheiro do @new;

      Selecionar o @sku= inserted.local_sku, @old= deleted.cost, @new=inserted.cost de interno introduzido juntam-se suprimido em inserted.local_sku = deleted.local_sku
		
	    AJUSTAR o @tableHTML =
		  as mudanças de seguimento do custo do N'< H3>The foram feitas:  +
		  “SKU” + @sku + “
Old custado: ” + moldado (@old como nvarchar (20)) + “
New custado: ” + moldado (@new como nvarchar (20)) + “
Changed por” + SUSER_SNAME () EXEC msdb.dbo.sp_send_dbmail @recipients='[email protected]', @subject = “mudança custada”, @body = @tableHTML, @body_format = “HTML”; extremidade EXTREMIDADE class= > " desobstruído " de
class= do

Resposta : O disparador do SQL 2005, emite o correio, junta-se a tabelas

Eu penso que um KeyedCollection trabalharia para you.l

http://msdn.microsoft.com/en-us/library/ms132438.aspx
Outras soluções  
 
programming4us programming4us