自己写的oracle存储过程会用到
来源:互联网 发布:数据保护解决方案 编辑:程序博客网 时间:2024/05/20 09:23
create or replace procedure prc_statistic_declare(table_name varchar2 ,table_name_pass varchar2 ,not_exist varchar2,not_exist_record varchar2)
--eg:'t_statistic_bianyuanhu_month',t_statistic_bianyuanhu_month,('YEAR','STATISTIC_ID')','YESR'
is
v_sql_column varchar2(1000);
v_sql_record varchar2(1000);
get_declare varchar2(9000);
begin
declare
type v_column is record(c_value varchar2(200));
dec_column v_column;
type my_cursor is ref cursor;
v_statistic_cur my_cursor;
begin
v_sql_column :=' select column_name from user_tab_columns c WHERE c.TABLE_name = upper('||table_name||')
and c.column_name not in ('||not_exist||')';
dbms_output.put_line(v_sql_column);
get_declare :=' ';
open v_statistic_cur for v_sql_column;
fetch v_statistic_cur into dec_column;
while v_statistic_cur%found loop----------获得declare数组语句
get_declare :='type '||dec_column.c_value||' is table of '||table_name_pass||'.'||dec_column.c_value||'%type index by pls_integer;';
dbms_output.put_line('type V_'||dec_column.c_value||' is table of '||table_name_pass||'.'||dec_column.c_value||'%type index by pls_integer;');
fetch v_statistic_cur into dec_column;
end loop;
commit;
open v_statistic_cur for v_sql_column;
fetch v_statistic_cur into dec_column;
while v_statistic_cur%found loop----------获得declare数组语句
get_declare :=' DEC_'||dec_column.c_value||' V_'|| dec_column.c_value||';';
dbms_output.put_line(' DEC_'||dec_column.c_value||' V_'|| dec_column.c_value||';');
fetch v_statistic_cur into dec_column;
end loop;
commit;
dbms_output.put_line('');
dbms_output.put_line('');
v_sql_record :=' select column_name from user_tab_columns c WHERE c.TABLE_name = upper('||table_name||')
and c.column_name not in upper('||not_exist_record||')';
dbms_output.put_line(v_sql_record);
open v_statistic_cur for v_sql_record;
fetch v_statistic_cur into dec_column;
while v_statistic_cur%found loop-----------获得record语句
get_declare := 'V_'||dec_column.c_value||' '||table_name_pass||'.'||dec_column.c_value||'%type,';
dbms_output.put_line(get_declare);
fetch v_statistic_cur into dec_column;
end loop;
commit;
open v_statistic_cur for v_sql_record;
fetch v_statistic_cur into dec_column;
while v_statistic_cur%found loop-----------获得record语句
get_declare := 'REC_'||dec_column.c_value||' V_'|| dec_column.c_value||'; ';
dbms_output.put_line(get_declare);
fetch v_statistic_cur into dec_column;
end loop;
commit;
end;
end prc_statistic_declare;
- 自己写的oracle存储过程会用到
- oracle学习笔记---写存储过程时可能用到的
- 自己写的存储过程
- SQLDBA 经常会用到的系统存储过程
- 自己写的MYSQ存储过程
- 自己写的第一个存储过程
- 自己写的一个存储过程
- Oracle的存储过程怎么写呀?
- 存储过程写的oracle 分页查询
- 刚刚写的ORACLE存储过程
- 存储过程用到的触发器
- 自己写的带分页的存储过程
- 以前自己写的一个分页的存储过程
- Oracle存储过程详解(自己)
- ORACLE存储过程习题及答案,题目是网上找的,答案是本人自己写的,仅供参考
- 自己写的一个简单ASP调用存储过程查询
- 自己写的一个简单ASP调用存储过程查询
- 自己写的一个存储过程例子,用来增加字段
- unix 下shell编程(三)
- windows mobile 学习笔记--自定义的CEdit(2)
- unix 下shell编程(二)
- 短信平台应用的十六种方式
- 移动增值业务平台解决实例
- 自己写的oracle存储过程会用到
- Delphi字符串截取——ExtractStrings & TStringList
- Struts Bean标签
- ubuntu 9.10系统下Android sdk jdk6 adt 环境搭建问题
- 敏捷开发Scrum——Sprint Retrospective
- MTK散记五(转)
- 7. 有关 liferay 5.23 的 Web Content List 与 Web Content Display 的研究
- MyEclipse更改jsp编辑时字体
- 解决通过远程桌面连接远程机器所遇到的问题