7. listopadu 2016

Autoinkrement v tabulce, jeho reset

V již existující tabulce jsem potřeboval primární klíč CHAR(20) změnit na autoinkrement

Vypsal jsem si tedy stávající PK a dal mi číslo řádku do dočasné tabulky:

select sloupec, number() as n  into ##x from "DBA"."tabulka"

A pak jsem pustil druhý jednoduchý příkaz:

update "DBA"."tabulka" as i
set i.sloupec = x.n
from ##x  as x
where x.slopec = i.slopec

Jelikož tam ještě zapsalo něco/někdo velkou hodnotu (4541468465) a chtěl jsem aby to pokračovalo malým číslem zase dál, tak jsem musel autoinkrement resetovat. Na to jsem šel tak, že jsem ve vlastnostech u daného sloupce funkci autoinkrement vypnul a pak zapnul.

21. září 2016

Zjištění majitele restrikce

select (select sysname from DBA.gusers where id = user_id), *
from dba.grestrikce
where akce = 'gBROWSERFILTER'

7. srpna 2016

Odhlášení uživatele při nečinnosti

V nové verzi DB177 je přidána volba odhlásit uživatele při nečinnosti. Na rozdíl od parametru -ti u databázového serveru nedojde jen k odpojení od DB, ale také korektnímu ukončení V32. Nedá se všem nastavit na skupinu (nebylo by totiž jasné, když by v jedné skupině bylo třeba 6 a v druhé 12 minut, která hodnota má platit). Dostal jsem od programátora tuto pomůcku:

zapnutí funkce:
update dba.gusers
set flags = flags | (nnn*0x1000000)
where...


vypnutí funkce:
update dba.gusers
set flags = flags & ~0xFF000000
where...

kde nnn je počet minut (1-255) a je nutné definovat, že se jedná o uživatele a nikoliv skupinu.