[PostgreSQL] lze v bloku pouzivat promenne?

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
howard
Začátečník
Začátečník
Uživatelský avatar
Registrován: 15. zář 2004
Bydliště: Plzeň
Kontaktovat uživatele:

[PostgreSQL] lze v bloku pouzivat promenne?

Příspěvek 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.
Action stations, action stations. Set condition one throughout the ship. This is not a drill.
Odpovědět

Zpět na „Programování a web“