如何在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,令牌出错=其中]
我该如何解决?在此先感谢
如何在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,令牌出错=其中]
我该如何解决?在此先感谢
您将不得不以旧式的方式做到这一点:从数据库中选择有问题的记录,如果它不存在,请执行插入。
Here's a link到相关的MSDN文档。
我很肯定你的问题是“不存在”,因为SQL CE不支持。这里有一个类似的问题,可能有所帮助的链接:“If not exists” fails on SQL CE
尝试INSERT INTO ... SELECT ... WHERE(...) – 2012-01-04 02:05:09
@ todda.speot.is:这是有效的语法,但最终会为匹配查询的表中的每一行重复插入操作。 – 2012-01-04 02:15:08
@competent_tech除非SQL CE不同(我知道它在某些地方),但是'FROM'子句的省略可以避免这种情况。 – 2012-01-04 04:27:53