将新数据添加到数据库后,运行SQL Server触发器

时间:2019-01-27 15:24:27

标签: sql sql-server database gis

我希望能够创建一个将新数据添加到表中时运行的触发器。我有一个触发器可以从纬度上创建一个地理列,当新数据添加到数据库中时,我希望运行以下脚本。

ALTER TABLE yourTable 
    ADD geographyColumn AS geography::STGeomFromText('POINT(' + CONVERT(VARCHAR(20), Long) + ' ' + CONVERT(VARCHAR(20), Lat) + ')', 4326)

1 个答案:

答案 0 :(得分:1)

这是触发器的伪代码

create trigger <trigger name>
on <your table>
for insert
as
update <your table>
set geographyColumn = <here you have to calculate the new datum>
where inserted.key = <your table>.key --join inserted and your table on key attributes so you update only for freshly added rows

注意:在SQL Server上,触发器是“后触发器”,因此您的表中已经有新数据。