use Project;
go
go
create trigger trProgramAdd on dbo.Program after insert
as
begin
declare @dt datetime;
declare @ot nvarchar(50);
declare @tn nvarchar(50);
declare @data nvarchar(MAX);
declare @temp nvarchar(MAX);
as
begin
declare @dt datetime;
declare @ot nvarchar(50);
declare @tn nvarchar(50);
declare @data nvarchar(MAX);
declare @temp nvarchar(MAX);
set @dt = GETDATE();
set @ot = 'Insert';
set @tn = 'Program';
select PG_name, PG_no, PG_begintime, PG_endtime, PG_day, PG_size, PG_range, PG_contents, PG_cost, Teacher_no, Lr_no from inserted as temp
set @data = @temp;
set @ot = 'Insert';
set @tn = 'Program';
select PG_name, PG_no, PG_begintime, PG_endtime, PG_day, PG_size, PG_range, PG_contents, PG_cost, Teacher_no, Lr_no from inserted as temp
set @data = @temp;
insert into dbo.LogTable(DTime, OperType, TableName, Data)
values(@dt, @ot, @tn, @data);
end
values(@dt, @ot, @tn, @data);
end
위에서 insert한 데이터를 @temp 에 저장한 후 @data로 값을 저장하여 로그 테이블에 insert 할려고 합니다.
그런데 자꾸 insert 하면 data 필드는 NULL이 뜨네요...
이제 막 sql을 시작해서 모르는게 많네요..
Comment 1
-
항해자™
2014.10.26 10:36
@temp 변수에 값을 넣지 않고 있어서 널이 뜨는겁니다,,,
insert into dbo.tLog
select getdate(), 'insert', 'program', PG_name, PG_no, PG_begintime, PG_endtime, PG_day, PG_size, PG_range, PG_contents, PG_cost, Teacher_no, Lr_no from inserted