postgresql7.1
select portal__new (
null,
:name,
:theme_id,
:layout_id,
:template_id,
:default_page_name,
'portal',
now(),
null,
null,
:context_id
);
begin
portal__delete (:portal_id);
end;
update portal_element_map
set region = :region,
page_id = :page_id,
sort_key = (select coalesce((select max(pem.sort_key) + 1
from portal_element_map pem
where pem.page_id = :page_id
and region = :region),
1)
from dual)
where element_id = :element_id
update portal_element_map
set page_id = :page_id,
region = :region,
sort_key = (select coalesce((select max(sort_key) + 1
from portal_element_map
where page_id = :page_id
and region = :region),
1)
from dual)
where element_id = :element_id
insert into portal_element_map
(element_id, name, pretty_name, page_id, datasource_id, region, sort_key)
values
(:new_element_id, :ds_name, :pretty_name, :page_id, :ds_id, :region,
coalesce((select max(sort_key) + 1
from portal_element_map
where region = :region
and page_id = :page_id), 1))
update portal_element_map
set region = :target_region,
sort_key = (select coalesce((select max(pem.sort_key) + 1
from portal_element_map pem
where page_id = :my_page_id
and region = :target_region),
1)
from dual)
where element_id = :element_id
select portal_page__new (
null,
:pretty_name,
:portal_id,
:layout_id,
'portal_page',
now(),
null,
null,
null
);
select portal_page__delete ( :page_id );