Nastavení generátoru v triggeru BI

27 views
Skip to first unread message

Dusman

unread,
Apr 10, 2012, 7:05:25 AM4/10/12
to Firebird (CZ), dus...@transforwarding.cz
snažím se v triggeru before insert jedné tabulky nastavit generátor na
novou hodnotu ale furt mi to hlásí chybu syntaxe 1 i 2 varianta
pokud ten příkaz provedu solo tak funguje
poradí někdo kde je chyba ? nebo se v triggerech nedá nastavovat
generátor ?

1. SET GENERATOR IMPORT_DATA TO 10;
2. ALTER SEQUENCE IMPORT_DATA RESTART WITH 10;


díky za radu
Zdeněk Dušátko

peca

unread,
Apr 10, 2012, 7:41:47 AM4/10/12
to fireb...@googlegroups.com
Ahoj,

nevím, je-li možné použít SET GENERATOR či ALTER SEQUENCE v PSQL, ale
zkus použít interní funkci GenID(<generator>, <delta>). <generator> je
název generátoru a <delta> je požadovaná změna. Pro tvůj příklad by to
mělo být asi takto (je to takový "hack"):
GenID(IMPORT_DATA, 10 - GenID(IMPORT_DATA, 0))

Peca

Pavel Poles

unread,
Apr 10, 2012, 7:56:32 AM4/10/12
to fireb...@googlegroups.com
Lze pou��t execute statement, tj:

EXECUTE STATEMENT "SET GENERATOR IMPORT_DATA TO 10";

Pavel Poles

Dne 10.4.2012 13:05, Dusman napsal(a):
> sna��m se v triggeru before insert jedn� tabulky nastavit gener�tor na
> novou hodnotu ale furt mi to hl�s� chybu syntaxe 1 i 2 varianta
> pokud ten p��kaz provedu solo tak funguje
> porad� n�kdo kde je chyba ? nebo se v triggerech ned� nastavovat
> gener�tor ?


>
> 1. SET GENERATOR IMPORT_DATA TO 10;
> 2. ALTER SEQUENCE IMPORT_DATA RESTART WITH 10;
>
>

> d�ky za radu
> Zden�k Du��tko
>

Slavomir Skopalik

unread,
Apr 10, 2012, 9:27:30 AM4/10/12
to fireb...@googlegroups.com
Treba ti pomuze tohle:

Create Trigger TrGnsrezyValidsid FOR srezyValids BEFORE INSERT POSITION 0 AS
BEGIN
IF (new.id IS NULL) THEN new.id=GEN_ID(GensrezyValidsID,1);
END

Slavek

Ing. Slavomir Skopalik
Jednatel spolecnosti
Elekt Labs s.r.o.
Sber a vyhodnoceni dat ze stroju a laboratori
systemem MASA (http://www.elektlabs.cz/m2demo)
----------------------------------------------
Adresa:
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
----------------------------------------------
Mobil: +420 724 207 851
icq:199 118 333
skype:skopaliks
e-mail:skop...@elektlabs.cz
http://www.elektlabs.cz

> --
> Archiv a podrobnosti této konference:
> http://groups.google.com/group/firebird_cz .
>

Reply all
Reply to author
Forward
0 new messages