sqlalchemy使用TOP参数化执行sql

时间:2012-06-09 11:16:19

标签: sql parameters sqlalchemy limit execute

我想在mssql中使用limit,这是TOP,参数化。 我希望我可以像这样进行顶级参数化:

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

但我得到:声明无法准备。 (8180)(SQLExecDirectW)')'选择顶部? *来自Orders'(100,)

顶部固定或外出时效果很好。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

正如所示in this answer,假设您至少使用SQL Server 2005,您应该能够运行:

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

SQL Server应该接受参数,只要它包含在括号中。