Ich versuche, temporäre Tabelle in gespeicherten Prozedur in Firebird-Datenbank zu erstellen.Warum temporäre Tabelle in gespeicherten Prozedur in Firebird nicht zulässig ist?
Meine gespeicherten Prozedur Eintrag:
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 ;^
Jedes Mal, ich versuche dieses Verfahren schaffe ich Störung erhalte:
Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 7, column 3
CREATE
Total execution time: 0.015s
Was mache ich falsch? Firebird 3.0 RC
Vielen Dank im Voraus Robert
Dies ist der Punkt, nach einiger Zeit kämpft über dieses Problem, ich denke auch, es ist die beste Lösung, Danke! – robsonwk