我有一张桌子汽车和CarDescriptions
汽车:IDCar(int,PK,autoincrement) carsDesciptions(IDDescription, 报头(nvarchar的),内容(NVARCHAR),idCar(INT,FK)
在应用程序中,我正在添加汽车并编辑现有汽车。
我的问题:
1.如何保存已更改的Car以及数据库中的描述?
我有Car的ID,我有ID的描述
Class CarDescirption没有像IsChanged这样的任何池,所以
我不想做类似的事情:
如果在表中,则必须更新记录,如果表
中不存在则必须插入答案 0 :(得分:12)
它具有最好的性能:
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
IF @@ROWCOUNT=0
INSERT INTO Table1 VALUES (...)
答案 1 :(得分:7)
在SqlServer 2008中,an UPSERT command就是这样做的。我没试过。
答案 2 :(得分:5)
可能与某些修改类似的东西会起作用
IF EXISTS (SELECt * FORM carsdescriptions WHERE IDCar = @IDCar )
UPDATE carsdescriptions
SET Header = @Header, Content = @Content
WHERE IDCar = @IDCar
ELSE
INSERT INTO carsdescriptions (IDCar, Header, Content)
VALUES (@IDCar, @Header, @Content)
看看这篇文章,也会给你更多的见解
答案 3 :(得分:0)
您首先要进行IF EXISTS以查看表中是否存在记录。如果没有,请插入新车,否则更新现有记录。
答案 4 :(得分:-1)