在PostgreSQL查询中声明和使用变量
本文介绍如何在PostgreSQL 8.3及以上版本查询中声明变量。在MS SQL Server中,变量声明语法很简单:
<code class="language-sql">DECLARE @myvar INT; SET @myvar = 5; SELECT * FROM somewhere WHERE something = @myvar;</code>
然而,这种方法在PostgreSQL中会报错,尽管文档中建议使用简单的“name type;”声明。以下代码会引发语法错误:
<code class="language-sql">myvar INTEGER;</code>
使用WITH子句的解决方案
在PostgreSQL中声明变量的替代方法是使用WITH子句。虽然不如MS SQL Server中的方法简洁,但它实现了相同的功能。需要注意的是,对于简单的场景,使用WITH子句可能会显得过于冗余:
<code class="language-sql">WITH myconstants (var1, var2) as ( values (5, 'foo') ) SELECT * FROM somewhere, myconstants WHERE something = var1 OR something_else = var2;</code>
以上是如何在 PostgreSQL 查询中声明和使用变量?的详细内容。更多信息请关注PHP中文网其他相关文章!