--freemarker template <#if SQLdialect='Postgres'> <#assign texttype="text" /> <#else> EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T'); <#assign texttype="lvarchar" /> <#assign newline="' '" /> create temp table tmp_konstanten ( tid serial, apnr integer, beschreibung char(255), defaultvalue integer, description ${texttype}, systeminfo_id integer, doku_link varchar(255), read_only integer, wertebereich varchar(250), ab_version varchar(10), gruppe varchar(255), sachgebiete_id integer ); insert into tmp_konstanten(apnr, beschreibung, defaultvalue, description, systeminfo_id, doku_link, read_only, wertebereich, ab_version, gruppe, sachgebiete_id) values (6,'PROMSTAT_Quellsystem', 6,'Anzeige der Datenquelle für die BI-Komponente', 350, '', 1,'6 = HISinOne', '8.0', 'Datenquelle, Entladestartzeitpunkt, -umfang', 350); --vorhandene Schlüssel Metadaten updaten: <#if SQLdialect='Postgres'> --Postgres Dialekt: update konstanten set defaultvalue=T.defaultvalue, description=T.description, systeminfo_id=T.systeminfo_id , doku_link=T.doku_link, read_only=T.read_only , wertebereich=T.wertebereich, ab_version=T.ab_version, gruppe=T.gruppe , sachgebiete_id=T.sachgebiete_id from tmp_konstanten T where T.beschreibung=konstanten.beschreibung; <#else> --Informix Dialekt: update konstanten set (defaultvalue, description, systeminfo_id, doku_link, read_only, wertebereich, ab_version, gruppe, sachgebiete_id) = ((select defaultvalue, description, systeminfo_id, doku_link, read_only, wertebereich, ab_version, gruppe, sachgebiete_id from tmp_konstanten T where T.beschreibung=konstanten.beschreibung)) where beschreibung in ( select T.beschreibung from tmp_konstanten T) ; select 'vorh. Konstanten apnrs bleiben erhalten' from xdummy; delete from tmp_konstanten where beschreibung in (select beschreibung from konstanten); create temp table tmp_hilf (tid integer); insert into tmp_hilf select max(tid) from konstanten; update tmp_hilf set tid=0 where tid is null; insert into konstanten(tid , apnr ,beschreibung, defaultvalue, description, systeminfo_id, doku_link, read_only, wertebereich, ab_version, gruppe, sachgebiete_id ) select H.tid+K.tid , K.apnr ,K.beschreibung, K.defaultvalue, K.description, K.systeminfo_id, K.doku_link, K.read_only, K.wertebereich, K.ab_version, K.gruppe, K.sachgebiete_id from tmp_konstanten K, tmp_hilf H; drop table tmp_konstanten; drop table tmp_hilf; --Konstante LM_ECTS_SOLL_SRC auf Wert von SOS setzen, wenn noch nicht gesetzt: update konstanten set apnr=1 where beschreibung='LM_ECTS_SOLL_SRC' and apnr=2 and 0< (select count(*) from konstanten K2 where K2.beschreibung='SOS_ECTS_SOLL_SRC' and K2.apnr=1);