PostgreSQL 8.3 クエリで使用する変数を宣言するにはどうすればよいですか?
MS SQL Server では次の操作を実行できます。
DECLARE @myvar INT;
SET @myvar = 5/
SELECT * FROM somewhere WHERE something = @myvar;
PostgreSQL で同じことを行うにはどうすればよいでしょうか? ドキュメントによると、変数は単に「name type;」として宣言されますが、これにより構文エラーが発生します。
myvar INTEGER;
正しい構文の例を教えていただけますか?
ベストアンサー1
私は同じ目的を達成するためにWITH
句、エレガントさには程遠いですが、同じことができます。ただし、この例ではやりすぎです。また、特にお勧めしません。
WITH myconstants (var1, var2) as (
values (5, 'foo')
)
SELECT *
FROM somewhere, myconstants
WHERE something = var1
OR something_else = var2;