[英]Insert or update if record is in table
我有一張桌子汽車和CarDescriptions
汽車:IDCar(int,PK,autoincrement)carsDesciptions(IDDescription,Header(nvarchar),Content(nvarchar),idCar(int,FK)
在應用程序中,我正在添加汽車並編輯現有汽車。
我的問題:
1.如何保存更改的汽車與數據庫中的描述?
我有車的ID,我有ID的描述
類CarDescirption沒有像IsChanged這樣的任何池,所以
我不想做這樣的事情:
如果在表中,則必須更新記錄,如果表中不存在則必須插入
它具有最好的性能:
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
IF @@ROWCOUNT=0
INSERT INTO Table1 VALUES (...)
在SqlServer 2008中有一個UPSERT命令就是這樣做的。 我沒試過。
可能類似於某些修改的東西會起作用
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)
看看這篇文章,也會給你更多的見解
您首先要進行IF EXISTS以查看表中是否存在記錄。 如果沒有,請插入新車,否則更新現有記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.