JoseC
Programmer
- Dec 11, 2001
- 18
I am trying to automatically addrolemember rights to a user when their security clearance is set. I am trying the following Trigger.
----------------------------------------------------------
CREATE TRIGGER securityupdate ON MyTable
FOR UPDATE
AS
DECLARE @login varchar(50), @UPDsecurity int
SELECT @login=updated.usrname, @UPDsecurity=updated.sec FROM Inserted updated
IF @UPDsecurity = '1'
BEGIN
exec MyDB.dbo.sp_addrolemember
[db_accessadmin],
@login
exec MyDB.dbo.sp_addrolemember
[db_securityadmin],
@login
END
ELSE
BEGIN
exec MyDB.dbo.sp_droprolemember
[db_accessadmin],
@login
exec MyDB.dbo.sp_droprolemember
[db_securityadmin],
@login
END
----------------------------------------------------------
I get the following error when I change the table value:
[Microsoft][ODBC SQL Server Driver][SQL Server]The GRANT statement is not allowed within a trigger.
Did I call the proper SPROCs??
Thanks!
----------------------------------------------------------
CREATE TRIGGER securityupdate ON MyTable
FOR UPDATE
AS
DECLARE @login varchar(50), @UPDsecurity int
SELECT @login=updated.usrname, @UPDsecurity=updated.sec FROM Inserted updated
IF @UPDsecurity = '1'
BEGIN
exec MyDB.dbo.sp_addrolemember
[db_accessadmin],
@login
exec MyDB.dbo.sp_addrolemember
[db_securityadmin],
@login
END
ELSE
BEGIN
exec MyDB.dbo.sp_droprolemember
[db_accessadmin],
@login
exec MyDB.dbo.sp_droprolemember
[db_securityadmin],
@login
END
----------------------------------------------------------
I get the following error when I change the table value:
[Microsoft][ODBC SQL Server Driver][SQL Server]The GRANT statement is not allowed within a trigger.
Did I call the proper SPROCs??
Thanks!