我想在 mssql 中使用限制,即 TOP,参数化。我希望我能像这样获得顶级参数:
engine.execute( text("select top :t * from Orders), t=100)
但我得到:无法准备声明。(8180)(SQLExecDirectW)')'选择顶部?* 来自 Orders' (100,)
顶部固定或外它工作正常。
有任何想法吗?
我想在 mssql 中使用限制,即 TOP,参数化。我希望我能像这样获得顶级参数:
engine.execute( text("select top :t * from Orders), t=100)
但我得到:无法准备声明。(8180)(SQLExecDirectW)')'选择顶部?* 来自 Orders' (100,)
顶部固定或外它工作正常。
有任何想法吗?
如this answer所示,假设您至少使用 SQL Server 2005,您应该能够运行:
engine.execute(text('select top (:t) * from Orders'), t=100)
只要参数包含在括号中,SQL Server 就应该接受。