我正在使用空间类型更新表,并且可能需要执行三个或更多更新以确保几何类型已成功加载到地理类型中。我想要做的是对我们进行第一次更新并提交尽可能多的行,然后使用第一次更新失败的第二次更新,最后使用第二次更新,第二次更新失败。更新行并使用多个更新语句提交
我成功地完成了这项工作,并使用几何类型更新了所有地理类型。这些是我使用的语句:
Update语句#1:
Update Postcode set geog = geography::STGeomFromWKB(geom.STAsBinary(), 4326)
FROM Postcode
WHERE geog is null
Update语句#2:
Update Postcode set geog = geography::STGeomFromWKB(geom.STUnion(geom.STStartPoint()).STAsBinary(), 4326)
FROM Postcode
WHERE geog is null
更新语句#3:
Update Postcode set geog = geography::STGeomFromWKB(geom.STBuffer(0.00001).STBuffer(-0.00001).STAsBinary(), 4326)
FROM Postcode
WHERE geog is null
是有一种方法可以让我在没有遇到错误的地方更新行,然后继续下一次更新声明如有错误?
我希望它是有道理的,任何帮助将不胜感激。
** SQL **不是数据库 - 它是查询语言。所以我假设你说* SQL *(语言),你的意思是** SQL Server ** - 微软的关系数据库产品 - 对吗?因此,为了更加清晰,请使用'sql-server'(或特定于版本的标记)而不是一个通用的'sql'标记。 –