我正在使用空间类型更新表,并且可能必须执行三个或更多更新以确保几何类型成功加载到地理类型中。我要做的是对我们进行第一次更新并提交尽可能多的行,然后在第一次失败的地方使用第二次更新,最后在第二次失败的地方使用第三次更新。
我成功地手动完成了这项工作,并使用几何类型更新了所有地理类型。这些是我正在使用的语句:
更新声明#1:
Update Postcode set geog = geography::STGeomFromWKB(geom.STAsBinary(), 4326)
FROM Postcode
WHERE geog is null
更新声明#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
有没有办法写这个,这样它就可以让我在没有遇到错误的地方更新行,然后在出现错误的情况下继续下一个更新语句?
我希望这是有道理的,任何帮助将不胜感激。