Sto cercando di creare una tabella temporanea nella stored procedure nel database di Firebird.Perché la tabella temporanea non è consentita nella stored procedure in Firebird?
mio immagazzinata lista procedure:
SET TERM^;
CREATE PROCEDURE initNATIONALHEALTHFUNDS
AS BEGIN
CREATE GLOBAL TEMPORARY TABLE temp_FUNDS
(
NATIONALHEALTHFUNDID Integer NOT NULL,
NAME Varchar(128) NOT NULL,
CODE Integer NOT NULL
)
ON COMMIT PRESERVE ROWS;
commit;
INSERT INTO tempFUNDS (NATIONALHEALTHFUNDID, CODE, NAME) VALUES (01 ,01 , 'Some Foundation');
MERGE INTO NATIONALHEALTHFUNDS AS target
USING tempFUNDS AS source
ON target.NATIONALHEALTHFUNDID = source.NATIONALHEALTHFUNDID
WHEN NOT MATCHED THEN
INSERT (NATIONALHEALTHFUNDID, CODE, NAME) VALUES (source.NATIONALHEALTHFUNDID, source.CODE, source.NAME);
drop TABLE tempFUNDS;
END^
SET TERM ;^
Ogni volta che sto cercando di creare questa procedura sto ottenendo l'errore:
Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 7, column 3
CREATE
Total execution time: 0.015s
Quello che sto facendo male? Firebird 3.0 RC
Grazie in anticipo Robert
Questo è il punto, dopo un po 'di tempo in difficoltà su questo problema penso anche che sia la soluzione migliore, grazie! – robsonwk