博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[script]P_CHECK_BLACK.sql 检查当前用户下是否有varchar2字段的末尾包含空格
阅读量:2510 次
发布时间:2019-05-11

本文共 1654 字,大约阅读时间需要 5 分钟。

create or replace procedure P_CHECK_BLACK
is
/*用途:检查当前用户下是否有varchar2字段的末尾包含空格,
 将结果插入到表contain_black中;
 将这些字段中的空格删除
*/
  type typ_tabnm is table of varchar2(100);
  type typ_colnm is table of varchar2(100);
  lis_tabnm typ_tabnm;--used to store table name
  lis_colnm typ_colnm;--used to store column name
 
  n_count number;--judge whether there are records demanding to be trim
 
begin
  --对于常用的数据类型,我们只需要将varchar2的字段进行trim
  select table_name,column_name
  bulk collect into lis_tabnm,lis_colnm
  from user_tab_cols where exists
  (select 1 from table_log where table_log.table_name=user_tab_cols.table_name)
  and user_tab_cols.data_type in ('VARCHAR2');
  --execute immediate 'create table contain_black(tabnm varchar2(100),colnm varchar2(100))';
  --将需要trim的字段表名、列名插入到表contain_black中 
  for i in lis_tabnm.first..lis_colnm.last loop
    execute immediate 'insert into contain_black select '
    ||''''||lis_tabnm(i)||''''||','||''''||lis_colnm(i)||''''
    ||' from '||lis_tabnm(i)||' where '||lis_colnm(i)||'<>trim('||lis_colnm(i)||') and rownum=1';
  end loop; 
  commit;
 
  select count(1) into n_count from contain_black;
 
  if n_count>0 then
 
    select c.tabnm,c.colnm bulk collect into lis_tabnm,lis_colnm
    from contain_black c;
   
    for i in (select * from contain_black) loop
      execute immediate
      'update '||i.tabnm||' set '||i.colnm||'=trim('||i.colnm||')';
    commit;
    end loop;
        /*for i in lis_tabnm.first..lis_colnm.last loop
      execute immediate
      'update '||lis_tabnm(i)||' set '||lis_colnm(i)||'=trim('||lis_colnm(i)||')';
      commit;
    end loop;*/
  end if;
end P_CHECK_BLACK;
/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26451536/viewspace-760070/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26451536/viewspace-760070/

你可能感兴趣的文章
HTTP协议
查看>>
HTTPS
查看>>
git add . git add -u git add -A区别
查看>>
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>
laravel 定时任务秒级执行
查看>>
浅析 Laravel 官方文档推荐的 Nginx 配置
查看>>
Swagger在Laravel项目中的使用
查看>>
Laravel 的生命周期
查看>>
CentOS Docker 安装
查看>>
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>