首页 > 解决方案 > 创建函数 Microsoft SQL Server

问题描述

我正在尝试在 Microsoft SQL Server 中实现 USER-DEFINED-FUNCTIONS。在 PostgreSQL 中,它看起来像这样:

CREATE OR REPLACE FUNCTION ml.get_model(p_task IN varchar, p_model_name IN varchar)
RETURNS bytea
AS $$ 
SELECT model
FROM ml.model
WHERE task = p_task
  AND model_name = p_model_name
$$ LANGUAGE SQL
RETURNS NULL ON NULL INPUT;

Blockquote 我正在尝试实现机器学习函数,只能用 sql 函数调用。在 PostgreSQL 中,我可以将数据转换为字节数组并将它们作为通用函数中的参数进行处理。可用于不同的数据集。

CREATE OR REPLACE FUNCTION ml.dt_model(x double precision[][], y double precision[])
RETURNS bytea
AS $$
from sklearn import tree
import pickle
clf = tree.DecisionTreeClassifier().fit(x, y)
return pickle.dumps(clf)
$$ LANGUAGE plpython3u
RETURNS NULL ON NULL INPUT;

但我对 Microsoft SQL 真的很陌生。而 T-SQL 似乎完全不同。是否可以返回 varbinary (bytea) 而不是表?我知道 Microsoft SQL 能够在数据库中使用 Python,所以只有参数应该是问题所在。

PS:请不要怪我,我对 Microsoft SQL 真的很陌生。

标签: pythonsqlpostgresqltsqlplpgsql

解决方案


推荐阅读