Sql server ce SQL Server CE从另一个表更新表
在尝试调整通常是从一个表到另一个表的简单更新时遇到困难:Sql server ce SQL Server CE从另一个表更新表,sql-server-ce,Sql Server Ce,在尝试调整通常是从一个表到另一个表的简单更新时遇到困难: UPDATE t2 SET Country_FK = t1.Country_ID FROM dbo.CountryCity t2 INNER JOIN dbo.Country t1 ON t2.country = t1.ISO 做了一些研究,SQLServerCE不喜欢联接中的FROM子句 我似乎无法正确使用SQL Server CE的语法 任何建议都是非常受欢迎的 谢谢 是的,根据SQL CE,UPDATE中不支持FROM子句。也
UPDATE t2
SET Country_FK = t1.Country_ID
FROM dbo.CountryCity t2
INNER JOIN dbo.Country t1 ON t2.country = t1.ISO
做了一些研究,SQLServerCE不喜欢联接中的FROM子句
我似乎无法正确使用SQL Server CE的语法
任何建议都是非常受欢迎的
谢谢 是的,根据SQL CE,UPDATE中不支持FROM子句。也不能更新CountryCity SET Country\u FK=从国家/地区选择国家/地区ID。。。因为SET只接受一个标量,SELECT返回一个选择 必须从中指定第一个或唯一的值
SELECT Country_ID FROM Country c
INNER JOIN CountryCity cc ON cc.country = c.ISO
WHERE you need something here to specify one country instead of every country that has any matching ISO
发送至CountryCity.Country\u FK,其中Country=您在上面指定的同一国家
这必须在调用SQL命令的任何脚本或应用程序中完成,而不能在SQL CE中完成。我同意。听起来我需要编写一些代码来填充CountryCity表中的datatable,遍历它,从CountryTable中找到匹配项,获取它的值,动态地为一条记录创建更新脚本并进行更新。谈论低效。只有当您希望第一次查询返回多个国家,并且希望将不同的国家分配给不同的CountryCity行时,您才需要一个数据集并循环任何内容。如果是这种情况,则必须使用循环或游标,这在任何版本的SQL中都是内部循环。