I have a trigger:
ALTER TRIGGER [dbo].[tg_trs_uharian] ON [dbo].[master_st]
AFTER INSERT AS
BEGIN
SET NOCOUNT ON
declare @tgl_mulai varchar(10),
@tgl_selesai varchar(10),
@kdlokasi int,
@thn_harian int,
@date_diff int
declare @tugasID int;
declare @uangharian20 decimal(15,2);
declare @uangharian80 decimal(15,2);
declare @uangharian100 decimal(15,2);
select @tugasID=tugasID
from inserted
SET @thn_harian=CAST(YEAR(CONVERT(datetime, @tgl_mulai, 103)) AS INT);
SET @date_diff=((SELECT datediff(day,CONVERT([datetime],@tgl_mulai,(103)),CONVERT([datetime],@tgl_selesai,(103))))+1);
SET @uangharian100 = (
SELECT k.uh_nominal
FROM master_st m
LEFT OUTER JOIN ref_uharian AS k
ON k.uh_kdlokasi=m.kdlokasi AND k.uh_tahun=@thn_harian);
insert into trs_uangharian (tugasID, uangharian100) values
(@tugasID, @uangharian100);
END
How to make select @tugasID=tugasID from inserted applicable for multiple row inserted row table with different tugasID? It seems that my code is applicable for single row only.
INSERT ... SELECT ...whereinsertedis just one of the tables in theFROMclause.