====== FBUtil ======
Tento program umožňuje rychlý import rozsáhlých tabulek. Ovládá se pomocí vlastního skriptovacího jazyka. Nápovědu příkazů lze zjistit příkazem ''help''.
===== Import ceníku z CSV =====
Ukázka importu a aktualizace ceníku (proměnná prostředí např. DATABASE=localhost:/opt/firebird/fdbs/data.fdb) :
#Pripojeni databaze
cdb data $DATABASE sysdba heslo WIN1250
#klonovani pracovniho ceniku
set bail 1
cltbl data rozpocty_cenik v_rozpocty_cenik
cmd data create UNIQUE index VROZPOCTY_CENIK_P ON V_ROZPOCTY_CENIK (IDCEN)
cmd data create index VROZPOCTY_CENIK_1 ON V_ROZPOCTY_CENIK (IDDRUH)
cmd data create index VROZPOCTY_CENIK_2 ON V_ROZPOCTY_CENIK (ObjCis)
com data
cmd data delete from v_rozpocty_cenik
com data
#pridani indexu do ceniku
#cmd data create index ROZPOCTY_CENIK_9 ON ROZPOCTY_CENIK (ObjCis)
com data
set bail 0
#Import
imp data {file="cenik.csv" separator=";" encoding="WIN1250"} \
insert into v_rozpocty_cenik (idcen, popis, mj, cena, naklady, iddruh, objcis) \
values ('kvn'||\1, \2, \4, \5, \6, 'kvn', \1)
info data
com data
#aktualni datum
cmd data update v_rozpocty_cenik set datum=CURRENT_TIMESTAMP
com data
#update kvn
cmd data update rozpocty_cenik d \
set cena=(select cena from v_rozpocty_cenik s where s.objcis=d.objcis) \
where d.iddruh='kvn' and d.objcis in (select cenik.objcis from rozpocty_cenik cenik where cenik.iddruh='kvn')
cmd data update rozpocty_cenik d \
set naklady=(select naklady from v_rozpocty_cenik s where s.objcis=d.objcis) \
where d.iddruh='kvn' and d.objcis in (select cenik.objcis from rozpocty_cenik cenik where cenik.iddruh='kvn')
#insert
cmd data insert into rozpocty_cenik select * from v_rozpocty_cenik s \
where s.objcis not in (select cenik.objcis from rozpocty_cenik cenik where cenik.iddruh='kvn')
com data
#zruseni pomocne tabulky
cmd data drop table v_rozpocty_cenik;
com data
#Disconnect
ddb data
exit
===== Přenos montážních ceníků CxxM z pokusných dat do ostrých =====
cdb data localhost:/home/firebird/fdbs/data.fdb sysdba heslofb WIN1250
cdb datapok localhost:/home/firebird/fdbs/datapok.fdb sysdba heslofb WIN1250
pump datapok "select * from rozpocty_cdruh where iddruh like 'cen-%'" data "insert into rozpocty_cdruh"
info datapok
com data
pump datapok "select * from rozpocty_cenik where iddruh like 'cen-%'" data "insert into rozpocty_cenik"
com data
info datapok
cmd data delete from common_navigators where tablename='rozpocty_cenik' and iduzivatele=''
com data
pump datapok "select * from common_navigators where tablename='rozpocty_cenik' and iduzivatele=''" data "insert into common_navigators"
info datapok
com data
ddb data
ddb datapok
exit
===== Odstraneni nezlomitelnych mezer v UTF pomoci sed =====
sed 's/\xC2\xA0//g' 32.csv.utf | cstocs utf8 cp1250 >! 32.csv