我正在尝试使用 SQLAlchemy 调用用户定义的函数(表函数)。这是我的代码:
from sqlalchemy import *
from sqlalchemy.orm import sessionmaker
db = create_engine('mssql+pymssql://User:Password@Server/Database')
metadata = MetaData(db)
Session = sessionmaker(bind=db)
session = Session()
results = session.query(func.MyFunctionName('Value')).all()
执行此操作时,我收到以下错误:
sqlalchemy.exc.OperationalError: (OperationalError) (195, "'MyFunctionName' 不是可识别的内置函数名。DB-Lib 错误消息 195,严重性 15:\n一般 SQL Server 错误: 检查来自 SQL Server 的消息\n ") 'SELECT MyFunctionName(%(MyFunctionName_2)s) AS [MyFunctionName_1]' {'MyFunctionName_2': '值'}
当我查看 SQL Profiler 时,我得到以下信息:
选择我的功能名称('值')作为 [我的功能名称_1]
这告诉我它没有在查询中添加SELECT * FROM MyFunctionName。
我需要做什么才能让我的 session.query 在查询中添加 * FROM 以执行?
如果您需要更多信息,请发表评论。