SQL Server 2005 veritabanında, yeni bir kayıt eklendiğinde farklı bir tabloya kayıt eklemesi gereken bir tetikleyici içeren bir tablo var. İyi çalışıyor gibi görünüyor, ancak değerlerin kaynağı olarak bir alt sorgu kullanan ana tabloya bir Insert Into çalıştırırsam, tetikleyiciye birden çok kayıt eklenmiş olsa da tetikleyici yalnızca diğer tabloya bir kayıt ekler. Tetikleyicinin, ana tabloya eklenen her yeni kayıt için ateşlenmesini istiyorum. Bu 2005 yılında mümkün mü?SQL Server 2005 yeterli kayıtları eklemiyor tetikleyicisi ekleyin
yapıyorum insert geçerli:
CREATE TRIGGER [dbo].[tblMenuItemInsertSecurity] ON [dbo].[tblMenuItems]
FOR INSERT
AS
Declare @iRoleID int
Declare @iMenuItemID int
Select @iMenuItemID = [ID] from Inserted
DECLARE tblUserRoles CURSOR FASTFORWARD FOR SELECT [ID] from tblUserRoles
OPEN tblUserRoles
FETCH NEXT FROM tblUserRoles INTO @iRoleID
WHILE (@@FetchStatus = 0)
BEGIN
INSERT INTO tblRestrictedMenuItems(
[RoleID],
[MenuItemID],
[RestrictLevel])
VALUES(
@iRoleID,
@iMenuItemID,
1)
FETCH NEXT FROM tblUserRoles INTO @iRoleID
END
CLOSE tblUserRoles
Deallocate tblUserRoles