ホームページ >データベース >mysql チュートリアル >PostgreSQL クエリで変数を宣言するにはどうすればよいですか?
MS SQL Server とは異なり、PostgreSQL は DECLARE ステートメントを使用した変数の宣言をサポートしていません。 PostgreSQL クエリで変数を使用するには、代わりに WITH 句を使用できます。
文法:
<code class="language-sql">WITH 变量名 AS ( SELECT 表达式 AS 名称 ) SELECT * FROM 表名 WHERE 列名 = 变量名</code>
例:
次の MS SQL Server クエリについて考えてみましょう:
<code class="language-sql">DECLARE @myvar INT; SET @myvar = 5; SELECT * FROM somewhere WHERE something = @myvar;</code>
WITH 句を使用して PostgreSQL で同じ機能を実現するには:
<code class="language-sql">WITH myvar AS ( SELECT 5 AS var ) SELECT * FROM somewhere WHERE something = myvar;</code>
注:
WITH 句は、PostgreSQL クエリで変数を宣言する方法を提供しますが、一般に、最もエレガントまたは効率的な方法とは考えられていません。複数の変数を必要とする複雑なクエリの場合、コードが乱雑で読みにくくなる可能性があります。この場合、一時テーブルを作成するか、ストアド プロシージャを使用して変数に関連するロジックをカプセル化することをお勧めします。
以上がPostgreSQL クエリで変数を宣言するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。