Greenplum(PostgreSql)函数实现批量删除表
时间:2019-09-24
本文章向大家介绍Greenplum(PostgreSql)函数实现批量删除表,主要包括Greenplum(PostgreSql)函数实现批量删除表使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
项目做库迁移,前期需要经常调整表结构语句,涉及多次的批量drop,本着偷懒精神写了这个函数。鉴于本函数在生产环境有巨大风险,建议测试完毕后立即删除。
主要步骤很简单:1)从pg_tables查询得到相关表名称;2)遍历查询结果拼接动态语句然后循环执行。
代码:
create or replace function vppp.func_drop_tables() returns void as $body$ -- 注意schema名称 declare tmp varchar(512); -- 存放拼接文本 stmp record; -- 记录类型可用于保存查询结果 i int; -- 计数 begin i := 1; for stmp in (select tablename table_nam from pg_tables where tableowner = 'vppp' and schemaname='vppp') loop -- 这里vppp也是schema,默认和owner相同 tmp := 'drop table vppp.' || stmt.bale_nam || 'cascade;'; --cascade表示级联删除 raise notice 'currentTable is : % ------%', stmt.table_nam, i; -- 打印一下信息,当前表名称和序号。 if stmt.table_nam <> 'A_T_Test' -- 我的库里有一个测试用的表,删除动作跳过。 then raise notice 'drop______'; -- execute tmp; -- 执行删除动作我这里注释掉,需要时再打开。 end if; i := i+1; end; $body$ language plpgsql volatile
代码是手打,本机也没有测试环境,如果有拼写错误请仔细检查一下。
原文地址:https://www.cnblogs.com/lbhqq/p/11576715.html
- 【LeetCode 122】关关刷题日记25-Best Time to Buy and Sell Stock II
- 【干货】python正则表达式应用笔记
- .NET跨平台之旅:将示例站点从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0
- .NET跨平台之旅:在Linux上以本地机器码(native)运行ASP.NET Core站点
- 【干货】基于pytorch的CNN、LSTM神经网络模型调参小结
- jenkins配置.net mvc网站
- 简述【聚类算法】
- word2vec理论与实践
- GMP大法教你重新做人(从入门到实战)
- Highway Networks
- CTF---编程入门第一题 循环
- Z.ExtensionMethods 一个强大的开源扩展库
- 【干货】神经网络SRU
- AutoMapper 使用实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 微信小程序开发实战(15):视频组件(video)
- LeetCode 91,点赞和反对五五开,这题是好是坏由你来评判
- 打破国外垄断,开发中国人自己的编程语言(1):编写解析表达式的计算器
- 在CentOS8上编译安装开源EDA工具——Surelog
- 直播带货小程序源码中,商品详情页是如何获取html图片的
- LeetCode 90 | 经典递归问题,求出所有不重复的子集II
- 万字长文|Swift语法全面解析|附示例
- sshd服务搭建与管理
- Airflow Dag可视化管理编辑工具Airflow Console
- 使用 Clientset 获取 Kubernetes 资源对象
- Python爬虫 - 解决动态网页信息抓取问题
- Java内存故障?只是因为你不够帅!
- 线程池的execute方法和submit方法有什么区别?
- os.mkdir()
- Java自动化测试(Jmeter 12)