在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中文網其他相關文章!