No Cross database constraints...Triggers it is:SET NOCOUNT ONGOUSE NorthwindGOCREATE TABLE myTable99(Col1 int IDENTITY(1,1) PRIMARY KEY, Col2 char(1))GOINSERT INTO myTable99(Col2) SELECT 'x' UNION ALL SELECT 'y' UNION ALL SELECT 'z'GOSELECT * FROM myTable99GOUSE PubsGOCREATE TABLE myTable00(Col0 int IDENTITY(1,1) PRIMARY KEY, Col1 int, Col2 char(1))GOCREATE TRIGGER myTrigger00 ON myTable00 FOR INSERT, UPDATEAS BEGIN SET NOCOUNT ON DECLARE @Error_Message varchar(100) IF EXISTS(SELECT * FROM inserted) AND NOT EXISTS (SELECT * FROM deleted) IF EXISTS(SELECT * FROM inserted i WHERE NOT EXISTS(SELECT * FROM Northwind.dbo.myTable99 t WHERE i.Col1 = t.Col1)) BEGIN SET @Error_Message = 'Foreign Key Constraint violation for INSERT Against Northwind.dbo.myTable99' GOTO Trigger_Error END IF EXISTS(SELECT * FROM inserted) AND EXISTS (SELECT * FROM deleted) IF EXISTS(SELECT * FROM inserted i WHERE NOT EXISTS(SELECT * FROM Northwind.dbo.myTable99 t WHERE i.Col1 = t.Col1)) BEGIN SET @Error_Message = 'Foreign Key Constraint violation for UPDATE Against Northwind.dbo.myTable99' GOTO Trigger_Error END Trigger_Exit: SET NOCOUNT OFF Return Trigger_Error: ROLLBACK TRAN RAISERROR 50001 @Error_Message GOTO Trigger_Exit ENDGOUSE NorthwindGOCREATE TRIGGER myTrigger99 ON myTable99 FOR DELETEAS BEGIN SET NOCOUNT ON DECLARE @Error_Message varchar(100) IF NOT EXISTS(SELECT * FROM inserted) AND EXISTS (SELECT * FROM deleted) IF EXISTS(SELECT * FROM deleted i WHERE EXISTS(SELECT * FROM Pubs.dbo.myTable00 t WHERE i.Col1 = t.Col1)) BEGIN SET @Error_Message = 'Foreign Key Constraint violation for DELETE Against Pubs.dbo.myTable00' GOTO Trigger_Error END Trigger_Exit: SET NOCOUNT OFF Return Trigger_Error: ROLLBACK TRAN RAISERROR 50001 @Error_Message GOTO Trigger_Exit ENDGOUSE PubsGO INSERT INTO myTable00(Col1, Col2) SELECT 1,'x'GOSELECT * FROM myTable00GOINSERT INTO myTable00(Col1, Col2) SELECT 4,'a'GOSELECT * FROM myTable00GOUPDATE myTable00 SET Col1 = 4 WHERE Col1 = 1GOSELECT * FROM myTable00GOUSE NorthwindGODELETE FROM myTable99 WHERE Col1 = 1GOSELECT * FROM myTable99GO USE PubsGODROP TRIGGER myTrigger00DROP TABLE myTable00GOUSE NorthwindGODROP TABLE myTable99SET NOCOUNT OFFGO
Brett8-)Hint: Want your questions answered fast? Follow the direction in this linkhttp://weblogs.sqlteam.com/brettk/archive/2005/05/25/5276.aspx