MSSQL triggery

0

Witam mam taki problem :
mam dwie bazy na jednym serwerze, chcę stworzyć relacje między tabelami w tch bazach, z tego co wiem nie da się tego zrobić bezpośrednio, a więc muszę użyć triggerów na Insert'ach i Update'ach. niestety przy wywołaniu Update lub Insert dostaję "(1 row(s) affected)" nawet jeśli wyzwalacz nie dopuści do zmiany/dodania danych. niestety nie wiem jak to obejść. jedyne co mi przychodzi na myśl to cofnięcie transakcji :
RAISERROR ('error.', 16, 1);
ROLLBACK TRANSACTION;
ale dostaję wtedy tylko komunikat i nie ma informacji że nie dodano żadnego wiersza , poza tym chyba nie jest to zgodne z "Best Practice"
kod :

ALTER TRIGGER wyzwalacz
ON Baza1.Tabela1
INSTEAD OF UPDATE
AS
BEGIN
--SET NOCOUNT ON;

DECLARE @ID INT

SELECT @ID = Tabela2.fk FROM INSERTED I

IF EXISTS (SELECT pk FROM Baza1.Tabela1 where pk = @ID) 		
BEGIN
       UPDATE Baza2.Tabela2
                   SET 
		fk = I.fk,
		nazwa = I.nazwa
	FROM Baza2.Tabela2 L, INSERTED I 
	WHERE L.id = I.id

  	END
  	ELSE
  	BEGIN
  		 --RAISERROR ('error', 16, 1);
	 --ROLLBACK TRANSACTION;		
END
  

END

z góry dzięki za pomoc

0

może niezbyt pomogę, gdyż MSSQL nie znam, ale w mySQL (zdaje się, że na tym samym serwerze) w relacji należy podać nazwę bazy danych, tabelę i pole (pola) łączące - nie wiem czy pomogłem :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1