Как получить id изменённой строки?

GRZ
Дата: 14.09.2006 09:56:05
День добрый.
При обновлении строки в таблице нужно с помощью тригера перенести b_id в другую таблицу. Подскажите как можно определить b_id изменённой сторки?
CREATE TABLE [dbo].[b](
	[b_id] [int] NOT NULL,
	[b_name] [varchar](255) COLLATE Cyrillic_General_CI_AS NULL,
	[b_ed] [varchar](10) COLLATE Cyrillic_General_CI_AS NULL,
	[ins] [smallint] NULL DEFAULT ((0)),
	[upd] [smallint] NULL DEFAULT ((0)),
 CONSTRAINT [b_id] PRIMARY KEY CLUSTERED 
(
	[b_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Заранее благодарен.
RENaissance
Дата: 14.09.2006 10:01:21

См. в BOL про таблицы INSERTED и DELETED.


Posted via ActualForum NNTP Server 1.3

WYPMAH
Дата: 14.09.2006 10:02:00
CREATE TRIGGER TR_TrackChanges
ON [dbo].
FOR UPDATE
AS
BEGIN
declare
@InsCount int,
@DelCount int

SELECT @InsCount = count(*) FROM INSERTED
SELECT @DelCount = count(*) FROM DELETED

IF ( @InsCount > 0 ) and ( @DelCount > 0 )
BEGIN
SELECT b_id
FROM INSERTED
END
END
WYPMAH
Дата: 14.09.2006 10:03:16
CREATE TRIGGER TR_TrackClientsChanges
ON b
FOR INSERT, UPDATE, DELETE
AS
BEGIN
	declare
		@InsCount	int,
		@DelCount	int

	IF ( @InsCount > 0 ) and ( @DelCount > 0 )
	BEGIN
		SELECT b_id
		FROM INSERTED
	END
END
GRZ
Дата: 14.09.2006 10:07:19
Всем спасибо. Теперь понял как сделать.