How to upsert (update or insert) in SQL Server 2005 -


i have table in inserting rows employee next time when want insert row don't want insert again data employee want update required columns if exits there if not create new row

how can in sql server 2005?

i using jsp

my query is

string sql="insert table1(id,name,itemname,itemcatname,itemqty)values('val1','val2','val3','val4','val5')"; 

if it's first time insert database else if exists update it

how do?

try check existence:

if not exists (select * dbo.employee id = @someid)      insert dbo.employee(col1, ..., coln)     values(val1, .., valn)  else      update dbo.employee     set col1 = val1, col2 = val2, ...., coln = valn     id = @someid 

you wrap stored procedure , call stored procedure outside (e.g. programming language c# or whatever you're using).

update: either can write entire statement in 1 long string (doable - not useful) - or can wrap stored procedure:

create procedure dbo.insertorudpateemployee        @id int,        @name varchar(50),        @itemname varchar(50),          @itemcatname varchar(50),        @itemqty decimal(15,2) begin     if not exists (select * dbo.table1 id = @id)        insert dbo.table1(id, name, itemname, itemcatname, itemqty)        values(@id, @name, @itemname, @itemcatname, @itemqty)     else        update dbo.table1        set name = @name,            itemname = @itemname,            itemcatname = @itemcatname,            itemqty = @itemqty        id = @id end 

and call stored procedure ado.net code


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -