概述
oracle表如果含有clob字段,则无法导出用sql脚本,尤其需要进行数据备份或者数据导入导出时候不方便。
这个存储过程你只需传入表名和需要返回的结果,就可以获取可执行的sql,直接在PL/SQL执行返回的结果,即可将数据导出成sql,
存储过程如下
create or replace procedure generate_insert_sql(t_name in varchar2,execute_sql out varchar2) as CURSOR col_cur is select column_name, data_type from user_tab_cols where table_name like t_name; col_name varchar2(500); BEGIN FOR col in col_cur loop if col.data_type='CLOB' then col_name := ' to_char(' || col.column_name || ') as '||col.column_name||' ,'; else col_name := col.column_name || ','; end if; execute_sql := execute_sql || col_name; end loop; execute_sql := 'select ' ||RTRIM(execute_sql,',')|| ' from '||t_name; end;
测试例子如下,测试工具为PL/SQL
1.创建测试表
create table test_table( name varchar2(30), test_clob1 clob, test_clob2 clob );
2.插入初始化数据
3.执行存储过程
4.执行获取的sql
5.导出查询数据为sql
6.查看导出的sql
最后你就可以把你得到的sql导入到你需要导的地方了。
转载于:https://www.cnblogs.com/kangyl/p/5076148.html
最后
以上就是传统苗条为你收集整理的oracle存储过程生成含有clob字段表的可执行导出脚本的全部内容,希望文章能够帮你解决oracle存储过程生成含有clob字段表的可执行导出脚本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复