postgresql 统一变更数据库表名和字段(大小写互相转换)

news/2024/7/9 22:44:40 标签: 数据库, postgresql

批量修改postgresql 中表和字段 大写变更为小写
第一步: 创建exec(sqlstring)函数方便执行 (共有步骤)

CREATE OR REPLACE FUNCTION "public"."exec"("sqlstring" varchar)
  RETURNS "pg_catalog"."varchar" AS $BODY$
    declare
        res varchar(50);
    BEGIN
        EXECUTE sqlstring;
        RETURN 'ok';
    END
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100


第二步:通过下列语句转换column_name中的大写字母

SELECT
    exec('alter table "' || table_name || '" rename column  "' || column_name || '" to ' || lower( column_name ) || ';')
FROM
    information_schema.COLUMNS 
WHERE
    table_schema = 'public' 
    AND column_name <> lower(column_name)
    --AND table_name like '%';


查询表名中的大写

SELECT * FROM information_schema.TABLES 
WHERE table_schema = 'public' AND table_catalog = '库名' AND table_name <> lower( table_name );


第三步:修改表名中的大写为小写

SELECT
    exec ( 'alter table "' || table_name || '" rename to ' || lower( table_name ) || ';' ) 
FROM
    information_schema.tables 
WHERE
    table_schema='public' 
    and table_catalog = '库名' 
    and table_name <> lower(table_name);


批量修改postgresql 中表和字段 小写变更为大写
重点是大写字段 表名 需要加双引号(其实我不理解为啥要统一大写,好麻烦)

第一步:如果没有函数按上面那个新建函数先
第二步:通过下列语句转换column_name中的小写字母

SELECT
    exec('alter table "' || table_name || '" rename column  "' || column_name || '" to ' || '"' ||upper( column_name ) ||'"'|| ';')
FROM
    information_schema.COLUMNS 
WHERE
    table_schema = 'public' 
        AND table_catalog = '库名'  
    AND column_name <> upper(column_name)


查询表名中的小写
 

       SELECT * FROM information_schema.TABLES 
WHERE table_schema = 'public' AND table_catalog = '表名' AND table_name <> upper( table_name );


第三步:修改表名中的小写为大写

SELECT
    exec ( 'alter table "' || table_name || '" rename to ' || '"' || upper( table_name ) ||'"'|| ';' ) 
FROM
    information_schema.tables 
WHERE
    table_schema='public' 
    and table_catalog = '还是库名' 
    and table_name <> upper(table_name);


 


http://www.niftyadmin.cn/n/1692110.html

相关文章

主动变被动9个例句_扬州大学 媒体扬大 【新华日报】降噪被动变主动 扬大研制新型隔音屏...

往来车辆的噪声对于居住在邻近公共道路区域的居民是很大的困扰&#xff0c;现有的隔音屏隔音降噪效果往往又不尽如人意。近日&#xff0c;扬州大学机械工程学院自主发明了一种以多层开缝管为主体的隔音屏结构&#xff0c;既实现了根据外界环境调节其降噪特性&#xff0c;又能利…

ajax 启用cors,Bottle Py:为jQuery AJAX请求启用CORS

小编典典安装一个处理程序而不是一个钩子。我过去有两种互补的方法&#xff1a;装饰器或Bottle插件。我将向您展示两者&#xff0c;您可以决定它们中的一个(或两者)是否满足您的需求。在这两种情况下&#xff0c;通常的想法是&#xff1a;处理程序在将响应发送回客户端之前先对…

服务器内存不足上传文件解决办法,wordpress网站服务器内存不足解决方法

在用国外主机架建 wordpress 站点是经常出现类似这样 fatal error: allowed memory size of 33554432 bytes exhausted (tried to allocate 491520 bytes) ……的提示&#xff0c;这是因为服务器限制了文件大小&#xff0c;而 wordpress 里有好多都是比较大的文件&#xff0c;要…

lsnrctl status无反应_常见的碳碳键生成的缩合反应

原标题&#xff1a;常见的碳碳键生成的缩合反应旧文重发&#xff0c;内容略有更新&#xff0c;点击标题查看详细内容。一、 羟醛缩合反应(Aldol condensation) 具有α-H的醛或酮&#xff0c;在碱催化下生成碳负离子&#xff0c;然后碳负离子作为亲核试剂对醛或酮进行亲核加成&a…

linux操作系统培训_Linux 内容和工作定位

在学习linux ,感觉其浩渺&#xff0c;愈加显得自己卑微。特针对如何学Linux 做个大致的总结和思考&#xff1b;当然很多都是从别的地方复制&#xff0c;这不是重点&#xff0c;重点是把这个问题系统化&#xff1b;对以后的学习有相关指导。首先要有的放矢解决这些基本问题&…

05、SpringCloud之Hystrix组件学习笔记

文章目录前言一、服务雪崩1.1、引出服务雪崩1.2、雪崩三阶段1.3、如何解决服务雪崩方案一&#xff1a;修改调用的超时时长&#xff08;不推荐&#xff09;方案二&#xff1a;设置拦截器&#xff08;设置断路器&#xff09;二、认识Hystrix2.1、服务熔断概念及断路器2.2、Spring…

服务器 添加文件夹,云服务器添加文件夹

云服务器添加文件夹 内容精选换一换介绍常见的安全组配置示例。如下示例中&#xff0c;出方向默认全通&#xff0c;仅介绍入方向规则配置方法。不同安全组内的弹性云服务器内网互通仅允许特定IP地址远程连接弹性云服务器SSH远程连接Linux弹性云服务器RDP远程连接Windows弹性云服…

python可以做大项目吗-在大型项目上,Python 是个烂语言吗?

这个不知道怎么说&#xff0c;有的项目用Python的时候是个小项目&#xff0c;用Java就变成大型项目了&#xff0c;这个怎么算呢 有的时候觉得做软件工程其实和发射卫星挺像的&#xff0c;真正的需求是那个有效载荷&#xff0c;就是火箭头上面那么一个小小的卫星&#xff0c;但是…