パラメータ化されたTOPであるmssqlでlimitを使用したいと思います。私は私がそのようにトップをパラメータ化できることを望みました:
engine.execute( text("select top :t * from Orders), t=100)
しかし、私は得ます:ステートメントを準備できませんでした。(8180)(SQLExecDirectW)')'トップを選択しますか?*注文から'(100、)
トップを固定またはアウトにすると、正常に動作します。
何か案は?
パラメータ化されたTOPであるmssqlでlimitを使用したいと思います。私は私がそのようにトップをパラメータ化できることを望みました:
engine.execute( text("select top :t * from Orders), t=100)
しかし、私は得ます:ステートメントを準備できませんでした。(8180)(SQLExecDirectW)')'トップを選択しますか?*注文から'(100、)
トップを固定またはアウトにすると、正常に動作します。
何か案は?
この回答に示されているように、少なくともSQL Server 2005を使用していると仮定すると、次のコマンドを実行できるはずです。
engine.execute(text('select top (:t) * from Orders'), t=100)
SQL Serverは、括弧で囲まれている限り、パラメーターを受け入れる必要があります。