Stránka 1 z 1

[PostgreSQL] lze v bloku pouzivat promenne?

Napsal: pon 14. bře 2005, 12:19
od howard
Lze v Postgresu pouzivat promenne v bloku? Kdyz udelam

Kód: Vybrat vše

BEGIN
  prikaz;
  prikaz;
COMMIT;
zda lze take pouzivat promenne, zkousel jsem DECLARE ale to nijak nefunguje.

V MSSQL to jde a ja potrebuju v Postgresu udelat neco takoveho:

Kód: Vybrat vše

DECLARE @id_news int 
SET @id_news = ISNULL((SELECT max(id) from News), 0) + 1 
INSERT INTO News (id, dDate) VALUES (@id_news, @date)
SELECT 'id_news' = @id_news
Vim, ze v Postgresu neni SET ani promenne se zavinacem a zjisteni max(id) se dela takto:

Kód: Vybrat vše

SELECT coalesce(max(id),0) FROM News) + 1
jenze vysledek tohoto selectu potrebuju ulozit do promenne a pouzit v dalsich dvou insertech.

Ja vim, ze existuji ulozene procedury a pouziju je, pokud to pres bloky nepujde. Ale zarazi me, ze by promenne v blocich v Postgresu nesli pouzivat.