使用SQl Server CE;如果不存在则可以插入,如果存在则可以删除?

时间:2009-04-08 13:46:56

标签: sql sql-server

我在SQL CE中有一个字段表,我需要一个SQL语句。目标是删除记录(如果已存在)并插入记录(如果记录不存在)。是否可以使用SQL CE?

INSERT INTO Source_Table
SELECT     'myvalue' AS Expr1
WHERE     (NOT EXISTS
                 (SELECT     Source_Data
                 FROM        Source_Table AS Source_Table_1
                 WHERE     (Source_Data = 'myvalue')))

2 个答案:

答案 0 :(得分:1)

为什么不呢......

DELETE Source_Table WHERE Source_Data = 'myvalue'
GO
INSERT INTO Source_Table (Source_Data) values('myvalue')

我不确定删除记录然后插入相同数据的重点是什么,但这应该可以实现。

答案 1 :(得分:0)

如果目标是字面上删除它是否存在而插入如果它不存在,那么你需要做你写的。

如果目标是插入,如果它不存在,替换,如果确实如此,亚当是正确的,你也可以一直运行删除,然后插入。我会在同一个语句批处理中运行,以节省开销。

当前有多个字段,当然你会进行更新,而不是删除后插入。 (但删除后插入是Sybase 内部执行更新的方式。)