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

Can I insert via a view, and convert data types?

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

有没有办法使用 'POINT(100 100)' 之类的 WKT 字符串执行此插入,并在 SQL 服务器内自动将其转换为几何数据类型?我可以通过视图或某种存储过程或触发器来做到这一点吗?

我可以通过视图和触发器实现我想要的:

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

对于任何打字错误,我深表歉意,因为我正在处理气隙问题。