This does the same thing, simplier and NO CURSORS. If it can be done without a cursor, than much better.
CREATE TABLE [dbo].[Employee] (
[id] [int] NULL ,
[name] [Varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[salary] [Numeric](18, 2) NULL
  ON [PRIMARY]
GO
/*********************************************************/
/**********************************************************/
/* Script for Insertion of duplicate records to the Table */
Insert into employee values (1,'Ram', 1000.00)
Insert into employee values (1,'Ram', 1000.00)
Insert into employee values (2,'Joe', 2000.00)
Insert into employee values (2,'Joe', 1000.00)
Insert into employee values (3,'Mary', 1000.00)
Insert into employee values (4,'Julie', 5000.00)
Insert into employee values (2,'Joe', 1000.00)
Insert into employee values (1,'Ram', 1000.00)
/**********************************************************/
BEGIN TRANSACTION
Select [id], [name], [salary]
INTO #MakeUnique
FROM employee
GROUP BY [id], [name], [salary]
DELETE FROM employee
INSERT INTO employee( [id], [name], [salary] )
SELECT [id], [name], [salary] FROM #MakeUnique
COMMIT TRANSACTION
SELECT * FROM employee
DROP TABLE #MakeUnique
DROP TABLE employee