【PostgreSQL】利用的存储过程为多个库表修改字段

2024-04-09 07:36

本文主要是介绍【PostgreSQL】利用的存储过程为多个库表修改字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提高效率存储过程,在某个schema下相同字段备注修改一致,原先也是一张张表改,后来十几张表,只好进行存储过程处理

存储过程

CREATE OR REPLACE FUNCTION "public"."update_all_column_comment"("schema_name" varchar, "field_name" varchar, "field_comment" varchar)RETURNS TABLE("message" text) AS $BODY$-- RETURNS "pg_catalog"."void" AS BODY-- declare表示声明变量,可以声明多个变量,此处声明了字符ddeclare table_name_temp varchar;declare success bool;--  声明了一个数组类型的变量并赋了值,值取自SQL查询不包含某字段的表名信息(避免重复插入表字段)。declare pg_tables varchar[] := array(select tablenamefrom pg_tableswhere schemaname = schema_name);-- begin表示语句开始begin-- 默认设置为成功success := true;-- for循环数组(表名),执行插入表字段SQLforeach table_name_temp in array pg_tables loop -- 设置字段注释BEGIN-- raise notice 'COMMENT ON COLUMN %.%.% IS %;', schema_name, table_name_temp, field_name, field_comment;execute format ( 'COMMENT ON COLUMN %I.%I.%I IS %L;', schema_name, table_name_temp, field_name, field_comment);EXCEPTION WHEN others THEN-- 如果出现异常,设置为失败,并记录错误消息success := false;-- RAISE NOTICE 'Failed to update comment for table % and column %', table_name_temp, field_name;message := 'Failed to update comment for table ' || table_name_temp || ' and column ' || field_name;RETURN NEXT;END;-- 结束循环end loop;-- 如果成功,返回成功消息IF success THENmessage := 'All column comments updated successfully';END IF;RETURN NEXT;-- end表示语句结束end;
-- 同上方的 BODY 命名一致
$BODY$LANGUAGE plpgsql VOLATILECOST 100ROWS 1000

执行

SELECT public.update_all_column_comment('public', 'del_flag', '删除标记,0未删除默认,1已删除');

参考

利用PostgreSQL的存储过程为多个库表增加固定字段

这篇关于【PostgreSQL】利用的存储过程为多个库表修改字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887550

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

python修改字符串值的三种方法

《python修改字符串值的三种方法》本文主要介绍了python修改字符串值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录第一种方法:第二种方法:第三种方法:在python中,字符串对象是不可变类型,所以我们没办法直接

springboot整合gateway的详细过程

《springboot整合gateway的详细过程》本文介绍了如何配置和使用SpringCloudGateway构建一个API网关,通过实例代码介绍了springboot整合gateway的过程,需要... 目录1. 添加依赖2. 配置网关路由3. 启用Eureka客户端(可选)4. 创建主应用类5. 自定

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public