I have two table
first:
Table: TBL#Sell
SellId ClientId ProductId
1 3
3 5
4 6
second:
Table: TBL#Sell2
SellId ClientId ProductId
Now I want to copy every record of first table to second one. "SellId" column in second table (Sell2.SellId) is Auto Increment (Identity).
for any insert the TBL#Sell2.SellId will set with new identity and i must store the identity in TBL#Sell1.SellId
Is it clear?
What is the solution? , plz.
thanks
I want to store TBL#Sell2.SellId in TBL#Sell.SellId
I think you have more ways to perform this task.
You could write a stored procedure that for every record in table1 write to table2 and then update table1 getting the identity value from SCOPE_IDENTITY()
Or another way could be, if the couple ClientId/ProductId is a key, to do an insert and then an update with something like that:
EDIT Replaced @@Identity with SCOPE_IDENTITY
You can use triggers :
http://msdn.microsoft.com/en-us/magazine/cc164047.aspx
http://msdn.microsoft.com/en-us/library/aa258254(v=sql.80).aspx
Look at the OUTPUT clause in Books Online.
It
TBL#Sell2
is empty you basically only want to give a number to each row inTBL#Sell
. You can do that without usingTBL#Sell2
.Add a temporary identity column, move the values to to
SellId
, remove the temp column.Another way is to use a CTE with row_number().