Przedstawię swój problem:
Posiadam tabele:
CREATE TABLE [dbo].[user](
[id_user] [int] IDENTITY(1,1) NOT NULL,
[first_name] [varchar](50) NULL,
[last_name] [varchar](50) NULL,
[password] [varchar](50) NOT NULL,
[login] [varchar](50) NOT NULL,
[id_user_group] [int] NOT NULL,
CONSTRAINT [PK_user] PRIMARY KEY CLUSTERED
(
[id_user] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
grupy użytkowników
CREATE TABLE [dbo].[user_group](
[id_user_group] [int] IDENTITY(1,1) NOT NULL,
[group_name] [varchar](50) NULL,
CONSTRAINT [PK_user_group] PRIMARY KEY CLUSTERED
(
[id_user_group] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
Napisałem trigger który zapisuje zmiany wykonane po zmianie nazwy grupy, zapisując nazwę grupy która była i nową nazwę tabla: T_USER_GROUP (group_name,group_name_old ,users ,time_change)
ALTER TRIGGER [dbo].[trigger_update_name_goup]
ON [dbo].[user_group]
AFTER UPDATE
AS
DECLARE @group_name_old VARCHAR(50)
DECLARE @group_name_new VARCHAR(50)
SELECT @group_name_old = group_name from DELETED
SELECT @group_name_new = group_name from INSERTED
IF UPDATE(group_name)
BEGIN
INSERT INTO T_USER_GROUP (group_name,group_name_old ,users ,time_change)
VALUES (@group_name_new,@group_name_old, ORIGINAL_LOGIN(), GETDATE())
END
Moje pytanie jest takie czy da się zrobić tak żeby do trigger-a przekazać ID użytkownika zalogowanego na serwisie
bo chce wywalić nazwę użytkownika w stawić ID użytkownika który robi zmiany na stronie WWW a nie nazwę użytkownika
który jest zalogowany na bazę
Czy wykorzystać do tego procedurą składową?