ALTER TRIGGER [dbo].[insertTrigger]
   ON  [dbo].[PBB]
   INSTEAD of insert
AS
BEGIN
 
 declare @id as int
 declare @yeartext as int
 declare @monthtext as int
 declare @timedate as int
 declare @timedate_text as varchar(50)
 declare @itemtext as varchar(50)
 declare @formulatext as varchar(50)
 declare @region as varchar(50)
 declare @country as varchar(50)
 declare @asp as varchar(50)
 declare @category as varchar(50)
 declare @model as varchar(50)
 declare @sam as varchar(50)
 declare @ntd_amount as float
 declare @inumber as int
 declare @timedate_start as varchar(50)
 declare @timedate_end as varchar(50)
 DECLARE @MyCursor CURSOR
 SET @MyCursor = CURSOR FAST_FORWARD
 FOR 
 select id,yeartext,monthtext,timedate,timedate_text,itemtext,formulatext,region,country,asp,category,model,sam,ntd_amount,inumber,timedate_start,timedate_end from inserted
 
 OPEN @MyCursor
 FETCH NEXT FROM @MyCursor into @id,@yeartext,@monthtext,@timedate,@timedate_text,@itemtext,@formulatext,@region,@country,@asp,@category,@model,@sam,@ntd_amount,@inumber,@timedate_start,@timedate_end
 WHILE @@FETCH_STATUS = 0
BEGIN
 
 INSERT INTO [dbo].[PBB] ([YearText],[MonthText],[TimeDate],[TimeDate_Text],[ItemText],[FormulaText],[Region],[Country],[ASP],[Category],[Model],[SAM],[iNumber],[TimeDate_Start],[TimeDate_End])    
 SELECT week_year,week_month,cast((cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)) as int)
 ,(cast(week_year as varchar(10))+'M'+right(('0'+cast(week_month as varchar(10))),2))
 ,'A','Purchase amt',@region,@country,@asp,@category,@model,@sam,@inumber,@timedate_start,@timedate_end
 FROM  htccsddc.[CSD_DB].[dbo].[Calender]
 where (cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)>=@TimeDate_Start)
 and (cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)<=@TimeDate_End)
 group by week_year,week_month
 order by week_year,week_month
 INSERT INTO [dbo].[PBB] ([YearText],[MonthText],[TimeDate],[TimeDate_Text],[ItemText],[FormulaText],[Region],[Country],[ASP],[Category],[Model],[SAM],[iNumber],[TimeDate_Start],[TimeDate_End])    
 SELECT week_year,week_month,cast((cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)) as int)
 ,(cast(week_year as varchar(10))+'M'+right(('0'+cast(week_month as varchar(10))),2))
 ,'B','buy back amt',@region,@country,@asp,@category,@model,@sam,@inumber,@timedate_start,@timedate_end
 FROM  htccsddc.[CSD_DB].[dbo].[Calender]
 where (cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)>=@TimeDate_Start)
 and (cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)<=@TimeDate_End)
 group by week_year,week_month
 order by week_year,week_month
 INSERT INTO [dbo].[PBB] ([YearText],[MonthText],[TimeDate],[TimeDate_Text],[ItemText],[FormulaText],[Region],[Country],[ASP],[Category],[Model],[SAM],[iNumber],[TimeDate_Start],[TimeDate_End])    
 SELECT week_year,week_month,cast((cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)) as int)
 ,(cast(week_year as varchar(10))+'M'+right(('0'+cast(week_month as varchar(10))),2))
 ,'C','buy back %',@region,@country,@asp,@category,@model,@sam,@inumber,@timedate_start,@timedate_end
 FROM  htccsddc.[CSD_DB].[dbo].[Calender]
 where (cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)>=@TimeDate_Start)
 and (cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)<=@TimeDate_End)
 group by week_year,week_month
 order by week_year,week_month
 INSERT INTO [dbo].[PBB] ([YearText],[MonthText],[TimeDate],[TimeDate_Text],[ItemText],[FormulaText],[Region],[Country],[ASP],[Category],[Model],[SAM],[iNumber],[TimeDate_Start],[TimeDate_End])    
 SELECT week_year,week_month,cast((cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)) as int)
 ,(cast(week_year as varchar(10))+'M'+right(('0'+cast(week_month as varchar(10))),2))
 ,'D','Avg. Purchase amt of Past Selected Period',@region,@country,@asp,@category,@model,@sam,@inumber,@timedate_start,@timedate_end
 FROM  htccsddc.[CSD_DB].[dbo].[Calender]
 where (cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)>=@TimeDate_Start)
 and (cast(week_year as varchar(10))+right(('0'+cast(week_month as varchar(10))),2)<=@TimeDate_End)
 group by week_year,week_month
 order by week_year,week_month
 --end
 FETCH NEXT FROM @MyCursor
 into @id,@yeartext,@monthtext,@timedate,@timedate_text,@itemtext,@formulatext,@region,@country,@asp,@category,@model,@sam,@ntd_amount,@inumber,@timedate_start,@timedate_end
END
CLOSE @MyCursor
DEALLOCATE @MyCursor
END