ホームページ >データベース >mysql チュートリアル >PostgreSQLスクリプトで変数を宣言および使用するにはどうすればよいですか?

PostgreSQLスクリプトで変数を宣言および使用するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-24 20:27:13733ブラウズ

How Can I Declare and Use Variables in PostgreSQL Scripts?

PostgreSQL スクリプトでの変数の宣言と使用

はじめに

変数は SQL スクリプトで重要な役割を果たし、データを動的に保存および操作できるようにします。変数はさまざまなデータベース システム (MS-SQL など) で広く使用されていますが、変数の使用方法はプラットフォームごとに異なる場合があります。この記事では、PostgreSQL で変数を使用する方法を検討し、有効な宣言と変数を使用するためのヒントを明確にします。

答え: PostgreSQL で変数を宣言して使用します

PostgreSQL では、スクリプト内で変数を宣言して使用する方法がいくつか提供されています。各方法の詳細な説明は次のとおりです:

匿名コード ブロックを使用する (PostgreSQL 9.0 以降)

PostgreSQL バージョン 9.0 で導入された匿名コード ブロックは、変数を宣言して使用する簡単な方法を提供します。このアプローチは、変数宣言と SQL ステートメントを DO$$...$$ ブロックで囲むことで構成されます:

<code class="language-sql">DO $$
DECLARE v_List TEXT;
BEGIN
  v_List := 'foobar';
  SELECT *
  FROM   dbo.PubLists
  WHERE  Name = v_List;
  -- ...
END $$;</code>

DECLARE を使用して変数を宣言します

PostgreSQL 9.0 より前では、変数は DECLARE ステートメントを使用して宣言できました。このステートメントは、特定のデータ型とオプションの初期値を使用して変数を初期化します:

<code class="language-sql">DECLARE v_List VARCHAR(8) := 'foobar';

SELECT *
FROM   dbo.PubLists
WHERE  Name = v_List;</code>

SQL ステートメントでの変数の使用

宣言後、変数の前にコロン (:) を追加することで、SQL ステートメントで変数を使用できます。 PostgreSQL はパラメータ バインディングをサポートしており、変数を SQL クエリやその他のステートメントに渡すことができます:

<code class="language-sql">SELECT *
FROM   dbo.PubLists
WHERE  Name = :v_List;</code>

その他の機能

最後に挿入された ID を取得します:

MS-SQL と同様に、PostgreSQL には匿名コード ブロックを使用して最後の挿入 ID を取得する方法が用意されています。

<code class="language-sql">DO $$
DECLARE lastid bigint;
BEGIN
  INSERT INTO test (name) VALUES ('Test Name') 
  RETURNING id INTO lastid;

  SELECT * FROM test WHERE id = lastid;
END $$;</code>

完全なドキュメント:

詳細については、変数に関する公式 PostgreSQL ドキュメントを参照してください。 https://www.php.cn/link/5898493fbdf4a44a24084021b2215f85

以上がPostgreSQLスクリプトで変数を宣言および使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。