【发布时间】:2015-07-22 15:39:17
【问题描述】:
在 Microsoft SQL Server 中,在查询窗口中测试类似这样的内容:
select * from Users where LastName = @lastname
我可以在命令前加上这个:
declare @lastname varchar(16)
set @lastname = 'Troy'
但在 PostgreSQL 中,我找不到类似的方法。看来我唯一能做的就是直接用它的值替换参数名称。当临时查询变得复杂并且多次使用相同的参数时,这会变得很困难。有什么办法吗?
【问题讨论】:
-
顺便说一句:“Postgres 查询窗口”?你的意思是 pgAdmin 查询窗口?
-
我也习惯了 MSSQL 的工作流程,将参数化查询复制到查询运行器中,在其上方设置声明,然后点击运行。这样我就不会在修改它以进行测试的过程中错误地更改查询语义。令人失望的是,在 postgres 中没有办法做到这一点。必须始终更改参数化查询(至少,变量名称或插入转换)来测试它并冒着测试结果无效的风险。
-
工作流也存在于 MySQL 中,使用
SET @var = 123。 stackoverflow.com/questions/11754781/…。我知道我在 MSSQL 之前使用过它。
标签: sql postgresql parameterized-query