1

パラメータ化されたTOPであるmssqlでlimitを使用したいと思います。私は私がそのようにトップをパラメータ化できることを望みました:

engine.execute( text("select top :t * from Orders), t=100)  

しかし、私は得ます:ステートメントを準備できませんでした。(8180)(SQLExecDirectW)')'トップを選択しますか?*注文から'(100、)

トップを固定またはアウトにすると、正常に動作します。

何か案は?

4

1 に答える 1

3

この回答に示されているように、少なくともSQL Server 2005を使用していると仮定すると、次のコマンドを実行できるはずです。

engine.execute(text('select top (:t) * from Orders'), t=100)

SQL Serverは、括弧で囲まれている限り、パラメーターを受け入れる必要があります。

于 2012-06-09T12:19:15.860 に答える