2010-09-10 20 views
29

Bunu yapmayı deniyorum, ancak bir sözdizimi hatası, ne yapıyorum yanlış?RETURNING ifadesi kullanılarak değişken değer ataması

declare myid := insert into oameni values(default,'lol') returning id; 

benim masa: Ayrıca belirtmek gerekir

DECLARE myid OAMENI.id%TYPE; 

INSERT INTO oameni 
VALUES 
    (default,'lol') 
RETURNING id INTO myid; 

:

Sen değerini ayarlamak için İADESİ bendinde INTO kullanmak gerekir
create table oameni 
(
id serial primary key, 
name varhcar(10) 
); 

cevap

49

Değişkeniniz içine iade edilen değişkeninizin veri türü; postgresql supports %TYPE and %ROWTYPE'u gördüğüme sevindim.

+1

Hala bir sözdizimi hatası alıyorum, bu sadece bir plpgsql işlevi içinde kullanılabilir mi yoksa normal posgresql'de de kullanılabilir mi? – Omu

+0

@Omu: Bunu nasıl çalıştırmayı deniyorsunuz? Ve ne PostgreSQL sürümü? –

+0

En son sürüm 9 RC1 sahibiyim ve kodunuzu sql editörüne kopyaladım – Omu

İlgili konular