The following lines contain the word 'select', 'insert', 'update' or 'delete':
select dim.dim_name,
dim.dim_id
from edw_dimensions_md_v dim
where dim_name not like 'EDW_GL_ACCT%_M'
and dim_name <> 'EDW_NA'
order by dim.dim_name;
select dim.dim_name,dim.dim_id
from
edw_dimensions_md_v dim
where dim_long_name=p_dim;
select level_name||'_LTC'
from edw_levels_md_v
where dim_id=p_dim_id;
select distinct
lvl_child.level_name||'_LTC',
lvl_parent.level_name||'_LTC'
from
edw_levels_md_v lvl_child,
edw_levels_md_v lvl_parent,
edw_pvt_level_relation_md_v lvl_rel,
edw_hierarchies_md_v hier
where
hier.dim_id=p_dim_id
and lvl_rel.hierarchy_id=hier.hier_id
and lvl_child.level_id=lvl_rel.child_level_id
and lvl_parent.level_id=lvl_rel.parent_level_id;
select
relation.name,
item.column_name,
item.data_type,
'FK',
parent.name
from
edw_levels_md_v lvl,
edw_tables_md_v relation,
edw_pvt_columns_md_v item,
edw_foreign_keys_md_v fk,
edw_pvt_key_columns_md_v isu,
edw_unique_keys_md_v pk,
edw_tables_md_v parent
where
lvl.dim_id=p_dim_id
and relation.name=lvl.level_name||'_LTC'
and item.parent_object_id=relation.elementid
and fk.entity_id=relation.elementid
and isu.key_id=fk.foreign_key_id
and item.column_id=isu.column_id
and pk.key_id=fk.key_id
and parent.elementid=pk.entity_id
union all
select
relation.name,
item.column_name,
item.data_type,
'PK',
null
from
edw_levels_md_v lvl,
edw_tables_md_v relation,
edw_pvt_columns_md_v item,
edw_unique_keys_md_v pk,
edw_pvt_key_columns_md_v isu
where
lvl.dim_id=p_dim_id
and relation.name=lvl.level_name||'_LTC'
and item.parent_object_id=relation.elementid
and pk.entity_id=relation.elementid
and isu.key_id=pk.key_id
and item.column_id=isu.column_id;
select
relation.name,
item.column_name,
item.length,
item.data_type
from
edw_tables_md_v relation,
edw_pvt_columns_md_v item
where
relation.name in (select level_name||'_LTC' from edw_levels_md_v where dim_id=p_dim_id)
and item.parent_object_id=relation.elementid
and item.column_name in ('NAME');
select
all_tab.table_name,
all_tab.column_name,
all_tab.data_length,
all_tab.data_type
from
all_tab_columns all_tab,
all_tables tab
where
all_tab.nullable in ('N')
and all_tab.table_name in (select level_name||'_LTC' from edw_levels_md_v where dim_id=p_dim_id)
and tab.table_name=all_tab.table_name
and tab.owner=p_owner
and all_tab.owner= p_owner
and all_tab.column_name not in ('NAME');
Execute_insert_stmt;
write_to_log_file_n('Executed all insert '||get_time);
Execute_insert_stmt;
Execute_insert_stmt;
l_stmt:='select dim_name,dim_id from edw_dimensions_md_v where dim_long_name=:s';
l_stmt:='select dim_name,dim_id from edw_dimensions_md_v where dim_name=:s';
PROCEDURE Make_insert_stmt(p_level_index number) IS
Begin
g_check_stmt:='select 1 from '||g_levels(p_level_index)||' where '||
g_level_pk(g_varchar_pk_index)||' = '||''''||g_naedw_varchar2||''''||' or '||
g_level_pk(g_varchar_pk_index)||' = '||''''||g_all_varchar2||'''';
g_err_check_stmt:='select 1 from '||g_levels(p_level_index)||' where '||
g_level_pk(g_varchar_pk_index)||' = '||''''||g_err_varchar2||'''';
g_insert_stmt:='insert into '||g_levels(p_level_index)||' ( ';
make_body_insert_update_stmt(p_level_index,true);
g_insert_stmt:=g_insert_stmt||g_body_insert_update_stmt;
g_err_insert_stmt:='insert into '||g_levels(p_level_index)||' ( ';
make_err_body_insert_stmt(p_level_index,true);
g_err_insert_stmt:=g_err_insert_stmt||g_err_body_insert_update_stmt;
write_to_log_file_n('Error in make_insert_stmt for level '||g_levels(p_level_index)||' '||
g_status_message||get_time);
End;--PROCEDURE Make_insert_stmt IS
PROCEDURE Make_Update_Stmt(p_level_index number) IS
first_find boolean :=true;
g_update_stmt:='update '||g_levels(p_level_index)||' set ( ';
make_body_insert_update_stmt(p_level_index,false);
g_update_stmt:=g_update_stmt||g_body_insert_update_stmt;
g_err_update_stmt:='update '||g_levels(p_level_index)||' set ( ';
make_err_body_insert_stmt(p_level_index,false);
g_err_update_stmt:=g_err_update_stmt||g_err_body_insert_update_stmt;
write_to_log_file_n('Error in make_update_stmt for level '||g_levels(p_level_index)||' '||
g_status_message||get_time);
End;--PROCEDURE Make_Update_Stmt(p_level_index number) IS
PROCEDURE make_body_insert_update_stmt(p_level_index number, p_insert_flag boolean) IS
first_find boolean:=true;
g_body_insert_update_stmt:='';
g_body_insert_update_stmt:=g_body_insert_update_stmt||' '||g_level_pk(i);
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||g_level_pk(i);
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||g_level_fk(i);
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||g_level_cols(i);
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||g_level_cols(i);
if g_level_cols(i) <> 'CREATION_DATE' and g_level_cols(i) <> 'LAST_UPDATE_DATE' then
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||g_level_cols(i);
if p_insert_flag then
--if g_level_status(p_level_index)<>'P' then
g_body_insert_update_stmt:=g_body_insert_update_stmt||',CREATION_DATE, LAST_UPDATE_DATE)';
g_body_insert_update_stmt:=g_body_insert_update_stmt||' values (';
g_body_insert_update_stmt:=g_body_insert_update_stmt||',LAST_UPDATE_DATE)';
g_body_insert_update_stmt:=g_body_insert_update_stmt||'= (select ';
g_body_insert_update_stmt:=g_body_insert_update_stmt||' '||l_pk_stmt;
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||l_pk_stmt;
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||l_fk_stmt;
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||''''||g_all_varchar2_mesg||'''';
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||''''||g_unassigned||'''';
if g_level_cols(i) <> 'CREATION_DATE' and g_level_cols(i) <> 'LAST_UPDATE_DATE' then
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||'null';
g_body_insert_update_stmt:=g_body_insert_update_stmt||','||g_naedw_number;
if p_insert_flag then
--if g_level_status(p_level_index)<>'P' then
g_body_insert_update_stmt:=g_body_insert_update_stmt||',SYSDATE,SYSDATE)';
g_body_insert_update_stmt:=g_body_insert_update_stmt||',SYSDATE ';
g_body_insert_update_stmt:=g_body_insert_update_stmt||' from dual) where '||
g_level_pk(l_pk_num)||'=';
g_body_insert_update_stmt:=g_body_insert_update_stmt||g_all_number||' ';
g_body_insert_update_stmt:=g_body_insert_update_stmt||g_naedw_number||' ';
write_to_log_file_n('Error in make_body_insert_update_stmt for level '||g_levels(p_level_index)||' '||
g_status_message||get_time);
End;--make_body_insert_update_stmt(p_level_index number) IS
PROCEDURE make_err_body_insert_stmt(p_level_index number, p_insert_flag boolean) IS
first_find boolean:=true;
g_err_body_insert_update_stmt:='';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||' '||g_level_pk(i);
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||g_level_pk(i);
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||g_level_fk(i);
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||g_level_cols(i);
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||g_level_cols(i);
if g_level_cols(i) <> 'CREATION_DATE' and g_level_cols(i) <> 'LAST_UPDATE_DATE' then
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||g_level_cols(i);
if p_insert_flag then
--if g_level_status(p_level_index)<>'P' then
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||',CREATION_DATE, LAST_UPDATE_DATE)';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||' values (';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||',LAST_UPDATE_DATE)';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||'= (select ';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||' '||l_pk_stmt;
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||l_pk_stmt;
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||l_fk_stmt;
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||''''||g_all_varchar2_mesg||'''';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||''''||g_invalid||'''';
if g_level_cols(i) <> 'CREATION_DATE' and g_level_cols(i) <> 'LAST_UPDATE_DATE' then
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||'null';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||','||g_err_number;
if p_insert_flag then
--if g_level_status(p_level_index)<>'P' then
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||',SYSDATE,SYSDATE)';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||',SYSDATE ';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||' from dual) where '||
g_level_pk(l_pk_num)||'=';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||g_all_number||' ';
g_err_body_insert_update_stmt:=g_err_body_insert_update_stmt||g_err_number||' ';
write_to_log_file_n('Error in make_err_body_insert_update_stmt for level '||g_levels(p_level_index)||' '||
g_status_message||get_time);
PROCEDURE Execute_insert_stmt_level(p_level_index number) IS
TYPE CurTyp IS REF CURSOR;
l_insert boolean:=true;
l_insert:=true;
write_to_log_file_n('Need to insert NAEDW or ALL for '||g_levels(p_level_index));
l_insert:=false;
if l_insert then
l_stmt:=g_insert_stmt;
l_stmt:=g_update_stmt;
End;--PROCEDURE Execute_insert_stmt_level(p_level_index number) IS
PROCEDURE Execute_err_insert_stmt_level(p_level_index number) IS
TYPE CurTyp IS REF CURSOR;
l_insert boolean:=true;
l_insert:=true;
write_to_log_file_n('Need to insert ERR for '||g_levels(p_level_index));
l_insert:=false;
if l_insert then
l_stmt:=g_err_insert_stmt;
l_stmt:=g_err_update_stmt;
Make_insert_stmt(i); --pass the level index
Make_update_stmt(i); --pass the level index
Execute_insert_stmt_level(i);
Execute_err_insert_stmt_level(i);
PROCEDURE Execute_insert_stmt IS
Begin
for i in 1..g_number_dims loop
g_status:=true;
End;--PROCEDURE Execute_insert_stmt IS
l_stmt:='select pk_item.column_name from edw_dimensions_md_v rel , edw_unique_keys_md_v pk, '||
'edw_pvt_key_columns_md_v isu,edw_pvt_columns_md_v pk_item where rel.dim_name=:a '||
'and pk.entity_id=rel.dim_id and pk.primarykey=1 '||
'and isu.key_id=pk.key_id and pk_item.column_id=isu.column_id ';