SQL Creare un tabella temporanea e restitire i valori
- Dettagli
- Categoria: Faq AS400
- Pubblicato Giovedì, 15 Ottobre 2009 12:08
- Scritto da Super User
- Visite: 4609
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';