我可以通过视图插入,并转换数据类型吗?



我想插入到一个表中,但是我使用的工具不支持该数据类型。具体来说,我想使用Azure数据工厂将geometry数据类型插入到Microsoft SQL Server表中。

是否有一种方法来执行这种插入,例如,使用WKT字符串'POINT(100 100)',并在SQL Server中自动将其转换为几何数据类型?我可以通过视图或某种存储过程或触发器做到这一点吗?

我可以用一个视图和一个触发器实现我想要的:

create table [phil].[test_geo]
(   [uid] NUMERIC(12,0), 
[coords] geometry
)
create view [phil].[test_geo_string] as
select [uid], [coords].STAsText()
from [phil].[test_geo]
create trigger [INSTEADOF_TR_I_test_geo_string]
ON [phil].[test_geo_string]
INSTEAD OF INSERT AS
BEGIN
INSERT INTO [phil].[test_geo] (  [uid], [coords] )
SELECT  I.[uid], geometry::STGeomFromText(I.[coords_string], 27700) 
FROM INSERTED I
END

为任何拼写错误道歉,因为我正在处理气隙。

相关内容

  • 没有找到相关文章

最新更新