I've table and rows as follow,declare @t1 table(idx int identity(1,1), TID varchar(20), SeatN varchar(5), Posi varchar(20), selldte datetime);insert into @t1 values ('1989','5A','100','20100318 6:40PM');insert into @t1 values ('1989','5A','110','20100318 8:40PM');insert into @t1 values ('2890','1B','100','20100317 7:40PM');insert into @t1 values ('2341','1C','100','20100313 2:40PM');My 2nd table as follows,declare @tTicketPosi table(idx int identity(1,1) primary key clustered, TID varchar(20), SeatN varchar(5),Posi varchar(20), selldte datetime);/*@tTicketPosi(TID,SeatN) is unique*/
What I'm trying to do is1. Get value from @t1 order by selldte, then insert into @tTicketPosi2. The rules is if record not exist in @tTicketPosi then insert, else updateAs a result, below is my total solutionsdeclare @t1 table(idx int identity(1,1), TID varchar(20), SeatN varchar(5), Posi varchar(20), selldte datetime);insert into @t1 values ('1989','5A','100','20100318 6:40PM');insert into @t1 values ('1989','5A','110','20100318 8:40PM');insert into @t1 values ('2890','1B','100','20100317 7:40PM');insert into @t1 values ('2341','1C','100','20100313 2:40PM');DECLARE @TID VARCHAR(20) -- TIDDECLARE @SeatN VARCHAR(5) -- SeatNDECLARE @Posi VARCHAR(20) -- PosiDECLARE @selldte datetime -- selldtedeclare @tTicketPosi table(idx int identity(1,1) primary key clustered, TID varchar(20), SeatN varchar(5),Posi varchar(20), selldte datetime);DECLARE db_cursor CURSOR FORselect TID,SeatN,Posi,selldte from @t1 order by selldte;OPEN db_cursor FETCH NEXT FROM db_cursor INTO @TID,@SeatN,@Posi,@selldteWHILE @@FETCH_STATUS = 0 BEGIN if not exists (select TID,SeatN from @tTicketPosi where TID=@TID and SeatN=@SeatN) begin print 'insert' insert into @tTicketPosi values(@TID,@SeatN,@Posi,@selldte); end else begin print 'update' update @tTicketPosi Set Posi=@Posi where TID=@TID and SeatN=@SeatN; endFETCH NEXT FROM db_cursor INTO @TID,@SeatN,@Posi,@selldteENDselect TID,SeatN,Posi from @tTicketPosi;CLOSE db_cursor DEALLOCATE db_cursorI heard, cursors are the SLOWEST way to access data inside SQL Server.How to customized my T-SQL above without using a cursor? Looking for help