2012-01-04 109 views
1

如何在SQL Server ce中使用insert into ... where (..)SQL查询在SQL Server精简版中不起作用

这个查询:

insert into table(field) values(@val) 
where not exists (select field from table where field = @code); 

回报

出现错误解析查询。 [令牌行号= 1,令牌行偏移= 40,令牌出错=其中]

我该如何解决?在此先感谢

+2

尝试INSERT INTO ... SELECT ... WHERE(...) – 2012-01-04 02:05:09

+0

@ todda.speot.is:这是有效的语法,但最终会为匹配查询的表中的每一行重复插入操作。 – 2012-01-04 02:15:08

+0

@competent_tech除非SQL CE不同(我知道它在某些地方),但是'FROM'子句的省略可以避免这种情况。 – 2012-01-04 04:27:53

回答

2

您将不得不以旧式的方式做到这一点:从数据库中选择有问题的记录,如果它不存在,请执行插入。

Here's a link到相关的MSDN文档。