Table expression in RETURN statement for SRF functions

Z PostgreSQL
Verze z 5. 2. 2007, 23:02, kterou vytvořil 85.160.83.9 (diskuse)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání
CREATE OR REPLACE FUNCTION te(OUT a int, OUT b int)                                                             
RETURNS SETOF RECORD AS                                                                                         
$$                                                                                                              
  RETURN                                                                                                        
    VALUES(12, 13), (16, 17);                                                                                   
$$ 
LANGUAGE plpgpsm;                                                                                            
                                          
                                                                                                                
CREATE OR REPLACE FUNCTION te(OUT a int, OUT b int)                                                             
RETURNS SETOF RECORD AS                                                                                         
$$                                                                                                              
  VALUES(19, 20), (21, 22);                                                                                     
$$ 
LANGUAGE plpgpsm;                                                                                                                                                                       
                                                                                                                
CREATE OR REPLACE FUNCTION te(OUT a int, OUT b int)                                                             
RETURNS SETOF RECORD AS                                                                                         
$$                                                                                                              
  INSERT INTO Foo                                                                                               
    SELECT *                                                                                                    
       FROM Foo                                                                                                 
      WHERE Foo.a < 20                                                                                          
      RETURNING *;                                                                                              
$$
LANGUAGE plpgpsm;