Fórumok
Elvileg ugye ezt nem lehet, viszont a firebird manual így nyilatkozik róla:
In FB 1.5 and up, you can circumvent this limitation with the EXECUTE STATEMENT feature.
Hosszas keresgélés után is kb. ennyit találtam a problémáról.
Ráadásul még szeretném annyival megtetézni, hogy szerver oldalon egy triggeren, vagy egy eljáráson belül generálom futásidőben a nevét.
Tud vki erre megoldást?
- 1167 megtekintés
Hozzászólások
Így sikerült:
CREATE TRIGGER INS_TABLE1 FOR TABLE1
ACTIVE
BEFORE INSERT
POSITION 0
AS
DECLARE I INTEGER;
DECLARE S VARCHAR(20);
BEGIN
NEW.ID=NEXT VALUE FOR TABLE1SEQ;
SELECT COUNT(*) FROM TABLE1 WHERE ID2=NEW.ID2 into :I;
S='TABLE1GEN'||CAST(NEW.ID2 AS VARCHAR(20));
IF (I=0) then
EXECUTE STATEMENT 'CREATE SEQUENCE '||:S;
EXECUTE STATEMENT 'SELECT GEN_ID('||:S||', 1) FROM RDB$DATABASE' INTO :I;
NEW.VAL='SORSZ'||CAST(NEW.ID2 AS VARCHAR(20))||'/'||CAST(I AS VARCHAR(20));
END^
SET TERM ; ^
- A hozzászóláshoz be kell jelentkezni