我在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')))
答案 0 :(得分:1)
为什么不呢......
DELETE Source_Table WHERE Source_Data = 'myvalue'
GO
INSERT INTO Source_Table (Source_Data) values('myvalue')
我不确定删除记录然后插入相同数据的重点是什么,但这应该可以实现。
答案 1 :(得分:0)
如果目标是字面上删除它是否存在而仅插入如果它不存在,那么你需要做你写的。
如果目标是插入,如果它不存在,替换,如果确实如此,亚当是正确的,你也可以一直运行删除,然后插入。我会在同一个语句批处理中运行,以节省开销。
当前有多个字段,当然你会进行更新,而不是删除后插入。 (但删除后插入是Sybase 内部执行更新的方式。)