たとえば、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 $$;