SQL Creare un tabella temporanea e restitire i valori

 

DROP SPECIFIC FUNCTION  LIBRERIA/GET_Tabella;    
CREATE  FUNCTION  LIBRERIA/GET_Tabella ( )         
RETURNS TABLE (                
CDCLI CHAR(6) ,
CLDVS CHAR(2) )
-- ----------------------                                  
-- Direttive creazione                                     
-- ----------------------                                  
LANGUAGE SQL                                               
SPECIFIC LIBRERIA/GET_Tabella                    
NOT DETERMINISTIC                                   
MODIFIES SQL DATA                                   
CALLED ON NULL INPUT                                
DISALLOW PARALLEL                                   
SET OPTION COMMIT=*NONE, DATFMT=*ISO, USRPRF=*OWNER


BEGIN

-- ----------------------                                            
-- Corpo                                                             
-- ----------------------                                            

DECLARE SQLCODE INTEGER DEFAULT 0;                                
DECLARE SQLSTATE CHAR(5) DEFAULT '00000';                         
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION, SQLWARNING, NOT FOUND  

------------------------------                                    
-- dichiara tabella temporanea                                    
------------------------------                                    
DECLARE GLOBAL TEMPORARY TABLE SESSION/Tabella                   
(                                                             
CDCLI CHAR(6)  CCSID 280 NOT NULL DEFAULT '' ,              
UNITA CHAR(4)  CCSID 280 NOT NULL DEFAULT ''              

) WITH REPLACE;                                               

------------------------------

-- Alimenta tabella temporanea                                 
------------------------------                                
INSERT INTO TABELLA                                          
SELECT                                                     
A.CDCLI,                                                
A.UNITA                                                                                               
FROM Clienti ;

... da qui fai quello che vuoi con i dati della tabella


----------------------------------------                                     
-- Restituisce la tabella                                               
----------------------------------------                                     
RETURN                                                                       
SELECT   * FROM TABELLA  ;                                                          

END;

-------------------------                                           
-- Specifiche aggiuntive                                            
------------------------- */                                        
COMMENT ON SPECIFIC FUNCTION GET_TABELLA            
IS 'Prova Tabella';