--freemarker template
<#if SQLdialect='Postgres'>
select setval('sichten_tid_seq',(select max(tid) from sichten));
</#if>

CREATE temp TABLE tmp_sichten (
    parent character(255),
    systeminfoid integer DEFAULT 0 NOT NULL,
    art character(40),
    type integer ,
    name_intern character(200),
    name character(200),
    beschreibung character(255),
    sortnr integer DEFAULT 0 NOT NULL,
    quelle character(255),
    alt_hier_id character(150),
    treecfgtable character(255),
    treecfgid character(150),
    label smallint DEFAULT 0 NOT NULL,
    user_rechte smallint DEFAULT 1 NOT NULL,
    rechtequelle character(255),
    sesamkey character(100),
    standbutton smallint DEFAULT 0 NOT NULL,
    attribut1 character(255),
    attribut2 character(255),
    attribut3 integer,
    attribut4 integer,
    xmlmaxentries integer,
    gueltig_seit date ,
    gueltig_bis date,
    aktiv smallint DEFAULT 1
);

-- Studiengänge nach Abschluss/Fach

INSERT INTO tmp_sichten(
  systeminfoid  , 
  art  , 
  type  , 
  name_intern  , 
  name  , 
  sortnr  ,
  quelle  ,
  label  , 
  user_rechte  ,
  standbutton  , 
    gueltig_seit  ,
   gueltig_bis  , aktiv
   ) select 
  310  ,
  'COSTAGE-Studiengang-Sicht'  ,
  10  ,
  'costage_studieng_abschluss_fach'  , 
  'Studiengang nach Abschluss/Fach'  ,
  1  , 
  'select druck,apnr,parent,struktur_str from costage_abschluss_fach_stg order by 1', 
  0  , 
  0  ,  
  0  , 
  date_val('01.01.1900')  , date_val('01.01.3000') , 1 from xdummy;
   

-- Studiengänge nach Abschluss, darunter Abschluss/Fach

INSERT INTO tmp_sichten(
  systeminfoid  , 
  art  , 
  type  , 
  name_intern  , 
  name  , 
  sortnr  ,
  quelle  ,
  label  , 
  user_rechte  ,
  standbutton  , 
    gueltig_seit  ,
   gueltig_bis  , aktiv
   ) select 
  310  ,
  'COSTAGE-Studiengang-Sicht'  ,
  10  ,
  'costage_studieng_abschluss'  , 
  'Studiengang nach Abschluss'  ,
  0  , 
  'select druck,apnr,parent,struktur_str from costage_abschluss_stg order by 1', 
  0  , 
  0  ,  
  0  , 
  date_val('01.01.1900')  , date_val('01.01.3000') , 1 from xdummy;
   
  delete from tmp_sichten where name_intern in (select name_intern from sichten);


  INSERT INTO sichten(
     systeminfoid  , art  , type  , name_intern  , name  , 
    sortnr  , quelle  , label  , 
    user_rechte  ,  standbutton  , 
     xmlmaxentries  , 
    gueltig_seit  , gueltig_bis  , aktiv)
    select systeminfoid  , art  , type  , name_intern  , name  , 
    sortnr  , quelle  , label  , 
    user_rechte  ,  standbutton  , 
     xmlmaxentries  , 
    gueltig_seit  , gueltig_bis  , aktiv
    from tmp_sichten S;


--Rechte für Sichten geben
select 'Rechte für Sichten geben' from xdummy;
delete from sachgeb_sichtarten where sichtart in 
(select distinct art from tmp_sichten);

insert into sachgeb_sichtarten
(
   sachgebiete_id ,
   sichtart 
)
select distinct 310,art from tmp_sichten;


drop table tmp_sichten;

