Dataphin数据服务中,直连数据源-SQL模式,连接sqlserver数据库,是否支持使用数据库中定义好的自定义函数?

更新时间:
复制为 MD 格式

问题描述

Dataphin数据服务中,直连数据源-SQL模式,连接sqlserver数据库,是否支持使用数据库中定义好的自定义函数:

SQL Server支持两种主要类型的自定义函数:

•标量函数(Scalar Function):返回单个值。

•表值函数(Table-Valued Function):返回一个表结果集。

dataphin数据服务中,直连数据源-SQL模式支持标量函数,不支持表值函数。

image

image

问题原因

dataphin数据服务中,直连 SQL 模式,系统在参数解析阶段会校验 FROM 子句中的对象是否为物理表(或视图),存在即通过 JDBC 将 SQL 语句透传至底层数据源执行。若直接在 FROM 后使用 表值函数(TVF),例如:SELECT * FROM dbo.MyTableValuedFunction(@param),Dataphin 在点击 “解析参数” 时会因无法在已注册的服务单元中找到名为 dbo.MyTableValuedFunction 的物理表而报错,导致无法完成 API 创建。

适用于

Dataphin