我有以下 SQL 代码。这是通过传递几何对象来调用的,如 dbo.MakeValidGeographyFromGeometry(geom):
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER FUNCTION [dbo].[MakeValidGeographyFromGeometry](@inputGeometry [geometry])
RETURNS [geography] WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [SQLSpatialTools].[SQLSpatialTools.Functions].[MakeValidGeographyFromGeometry]
我们经常出现几何错误,导致此函数出现问题。因此,我想在 @inputGeometry 参数通过时更新它。我知道更新几何图形的代码,但不知道如何在这里实现它。
在这样的函数中,我们如何更新传递的参数?
由于无法将 TSQL 和汇编调用结合在一个函数中,因此我建议创建一个调用汇编函数的包装函数。包装函数应具有原始名称,以避免中断和代码重写。
基本步骤是:
MakeValidGeographyFromGeometryInternal
的新汇编函数,它是当前汇编函数的副本。请务必记下现有权限,以便您可以正确转移它们MakeValidGeographyFromGeometry
的包装函数,它执行您需要的任何处理,然后调用 MakeValidGeographyFromGeometryInternal
。请务必注意所需的权限(如果有)。这应该允许您保持调用代码不变。