シンプルなPostgreSQLスクリプトで変数を使用するにはどうすればいいですか? 質問する

シンプルなPostgreSQLスクリプトで変数を使用するにはどうすればいいですか? 質問する

たとえば、MS-SQL では、クエリ ウィンドウを開いて次を実行できます。

DECLARE @List AS VARCHAR(8)
    
SELECT @List = 'foobar'
    
SELECT * FROM dbo.PubLists WHERE Name = @List

PostgreSQL ではこれをどうやって行うのでしょうか? 実行可能でしょうか?

ベストアンサー1

完全な答えは公式PostgreSQLドキュメント

新しいPG9.0の匿名コードブロック機能(参考: http://www.postgresql.org/docs/9.1/static/sql-do.html

DO $$
DECLARE v_List TEXT;
BEGIN
  v_List := 'foobar' ;
  SELECT *
  FROM   dbo.PubLists
  WHERE  Name = v_List;
  -- ...
END $$;

また、最後の入れるid:

DO $$
DECLARE lastid bigint;
BEGIN
  INSERT INTO test (name) VALUES ('Test Name') 
  RETURNING id INTO lastid;

  SELECT * FROM test WHERE id = lastid;
END $$;

おすすめ記事