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
Post a Comment