Tsql 在SQL server上同时更新多行
我正在创建一个表,其中列出了城市、州、邮编和long/lat。我在表中创建了另一列(称为GeoLoc),该列使用地理数据类型。我想将纬度和经度列合并到GeoLoc列中,以便创建SSRS地图报告 我可以简单地使用update语句来实现这一点。例如:Tsql 在SQL server上同时更新多行,tsql,reporting-services,sql-update,spatial,geography,Tsql,Reporting Services,Sql Update,Spatial,Geography,我正在创建一个表,其中列出了城市、州、邮编和long/lat。我在表中创建了另一列(称为GeoLoc),该列使用地理数据类型。我想将纬度和经度列合并到GeoLoc列中,以便创建SSRS地图报告 我可以简单地使用update语句来实现这一点。例如: UPDATE us_loc_data SET GeoLocation = 'POINT(-71.013202 43.005895)' WHERE Zip = '210' 问题是,我有超过40000行都有不同的坐标。我可以在每一行同时执行此更新吗?
UPDATE us_loc_data SET GeoLocation = 'POINT(-71.013202 43.005895)' WHERE Zip = '210'
问题是,我有超过40000行都有不同的坐标。我可以在每一行同时执行此更新吗?类似这样的操作吗
Update us_loc_data SET GeoLocation = geography::Point(B.lat,b.Lng,4326 )
From us_loc_data A
Join YourLatLngTable B on (A.Zip=B.Zip)
有几种方法可以做到这一点。最简单的方法可能是创建一个包含所有更改的临时表,然后执行
更新,将连接到该表。发布有效的更新查询<代码>点
需要空间参考ID
参数。点不能像标量函数一样使用,它应该像geography::Point(Lat,long,SRID)
一样使用。我想我不明白我的更新是如何无效的。这篇教程不正确吗?“我会很快尝试一下,然后再给你回复。”AnthonySims很高兴这有帮助