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 を見ると、次のようになります。
SELECT MyFunctionName('Value') AS [MyFunctionName_1]
これは、クエリにSELECT * FROM MyFunctionNameを追加していないことを示しています。
session.query を実行のためにクエリに * FROM を追加するにはどうすればよいですか?
さらに情報が必要な場合は、コメントを残してください。