Frage : Auslöser SQL-2005, senden Post, verbinden Tabellen

Ich lasse einen Auslöser aufbauen (unten) der jemand mailt, wenn ein Feld in einer Tabelle ändert. Jetzt muss ich Daten von einer anderen Tabelle im gleichen DB hinzufügen, sowie Daten von einer Tabelle in einem anderen DB, in den Körper des email.

In das gleiche DB ich eine Tabelle haben, die Suppliers genannt wird.

In ein anderes DB habe ich eine Tabelle, die Products genannt wird.

I Notwendigkeit, sich einem Feld (SupplierID) von der Tabelle in diesem Auslöser (Warenbestand) mit einem Feld in den Tabelle Lieferanten (SupplierID) anzuschließen so kann ich den Namen des Lieferanten erhalten, der in den Tabelle Lieferanten (SupplierName) ist.

In das andere DB, Tabellenprodukte hat den Namen des Produktes (ProductName).

Bottom Linie, in der Notwendigkeit, zusätzlich zum sku und zu anderen Daten bereits im Auslöser, im Lieferantennamen und im Produkt name.

All anzuzeigen, das diese Tabellen auf einem gemeinsamen Datenfeld (SKU) verbinden.

Can dieses ist erfolgt?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
set ANSI_NULLS AN
QUOTED_IDENTIFIER AN einstellen
GEHEN
-- =============================================
-- Autor:		
-- Datum verursachen: 
-- Beschreibung:	
-- =============================================
AUSLÖSER [dbo] ÄNDERN. [Cost_Change]
   AUF [dbo]. [Warenbestand] 
   NACH UPDATE
WIE 
ANFANGEN
	
	NOCOUNT AN EINSTELLEN;
	--wenn Update (Kosten)
	wenn existiert (auserwählte deleted.cost von gelöschtem innerem verbinden eingesetzt auf gelöscht. Local_sku = inserted.local_sku, wo deleted.cost <> inserted.cost)
    Anfangen
     In Audit_Cost (username, „wenn“, SKU, altes, neu) auserwähltes SUSER_SNAME (), GetDate (), inserted.local_sku, deleted.cost, inserted.cost einsetzen von eingesetztem innerem verbinden gelöscht auf inserted.local_sku = deleted.local_sku
	
	  @TABLEHTML NVARCHAR (MAX) ERKLÄREN;
	  Das nvarchar @sku erklären (50);
	  @old Geld erklären;
	  @new Geld erklären;

      @sku= inserted.local_sku, @old= deleted.cost, @new=inserted.cost vorwählen von eingesetztem innerem verbinden gelöscht auf inserted.local_sku = deleted.local_sku
		
	    @tableHTML EINSTELLEN =
		  N'< H3>The wurden folgende Kostenänderungen vorgenommen:  +
		  „SKU“ + @sku + „
Old gekostet: “ + geworfen (@old, wie nvarchar (20)) + „
New gekostet: “ + geworfen (@new, wie nvarchar (20)) + „
Changed durch“ + SUSER_SNAME () EXEC msdb.dbo.sp_send_dbmail @recipients='[email protected]', @subject = „gekostete Änderung“, @body = @tableHTML, @body_format = „HTML“; Ende ENDE

Antwort : Auslöser SQL-2005, senden Post, verbinden Tabellen

Ich denke, dass ein KeyedCollection für you.l arbeiten würde

http://msdn.microsoft.com/en-us/library/ms132438.aspx
Weitere Lösungen  
 
programming4us programming4us