You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.7 KiB
103 lines
2.7 KiB
--freemarker template |
|
<#if SQLdialect='Postgres'> |
|
<#assign texttype="text" /> |
|
<#else> |
|
EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T'); |
|
<#assign texttype="lvarchar" /> |
|
</#if> |
|
<#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) |
|
; |
|
|
|
|
|
</#if> |
|
|
|
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); |
|
|
|
|