-- Function: dropgeometrycolumn("varchar", "varchar", "varchar", "varchar")
-- DROP FUNCTION dropgeometrycolumn("varchar", "varchar", "varchar", "varchar");
CREATE OR REPLACE FUNCTION dropgeometrycolumn("varchar", "varchar", "varchar", "varchar")
RETURNS text AS
$BODY$
DECLARE
catalog_name alias for $1;
schema_name alias for $2;
table_name alias for $3;
column_name alias for $4;
myrec RECORD;
okay boolean;
real_schema name;
BEGIN
-- Find, check or fix schema_name
IF ( schema_name != '' ) THEN
okay = 'f';
FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP
okay := 't';
END LOOP;
IF ( okay <> 't' ) THEN
RAISE NOTICE 'Invalid schema name - using current_schema()';
SELECT current_schema() into real_schema;
ELSE
real_schema = schema_name;
END IF;
ELSE
SELECT current_schema() into real_schema;
END IF;
-- Find out if the column is in the geometry_columns table
okay = 'f';
FOR myrec IN SELECT * from geometry_columns where f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP
okay := 't';
END LOOP;
IF (okay <> 't') THEN
RAISE EXCEPTION 'column not found in geometry_columns table';
RETURN 'f';
END IF;
-- Remove ref from geometry_columns table
EXECUTE 'delete from geometry_columns where f_table_schema = ' ||
quote_literal(real_schema) || ' and f_table_name = ' ||
quote_literal(table_name) || ' and f_geometry_column = ' ||
quote_literal(column_name);
-- Remove table column
EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' ||
quote_ident(table_name) || ' DROP COLUMN ' ||
quote_ident(column_name);
RETURN real_schema || '.' || table_name || '.' || column_name ||' effectively removed.';
END;
$BODY$
LANGUAGE 'plpgsql
' VOLATILE STRICT;
ALTER FUNCTION dropgeometrycolumn("varchar", "varchar", "varchar", "varchar") OWNER TO postgres;
分享到:
相关推荐
1. 博客:PostgreSQL的学习心得和知识总结(六十七)|语法级自上而下完美实现MySQL数据库的 IF函数和IFNULL函数 的实现方案
Oracle迁postgre 不兼容字段、函数等更改
NULL 博文链接:https://moooneee.iteye.com/blog/442478
自定义函数在sql中是很重要的,在写sql语句时,是很有用的
PostgreSQL数据库没有默认的2进制转换16进制函数,在项目中用到,所以变了一个函数来实现,现在共享给大家。
包含四个自定义函数: lz4:接收bytea类型的数据,返回压缩后的bytea类型数据 un_lz4:接收bytea类型的数据,返回解压后的bytea类型数据 lz4_utf8:接收utf8编码的文本数据,返回解压后的bytea类型数据 un_lz4_utf8...
1. 从头开始 1.1. 安装 1.2. 体系基本概念 1.3. 创建一个数据库 1.4. 访问数据库 ...2.7. 聚集函数 2.8. 更新 2.9. 删除 3. 高级特性 3.1. 介绍 3.2. 视图 3.3. 外键 3.4. 事务 3.5. 继承 3.6. 结论
这是我最近新接触到的一个函数, 我在项目中的使用场景是这样的: 有一个应用类型表,表中有parentId字段和parentIds字段,前者为父级id,后者为多级父级id,在库中都是varchar类型,parentIds由多个父级id拼接而成由”,”...
postgresql中判断是否为数字和是否为时间日期格式的相关函数,类似于sqlserver中的isDate和isnumeric函数
对postgresql数据库中不规则的数据批量处理查询,有些是全角的,需要转换查询,匹配,可以使用这个方法postgres全角转半角函数.txt
支持2万+汉字转拼音首字母
XML内容生成部分 SQL数据生成XML的函数。 1. xmlcomment:生成注释函数。 xmlcomment(text ) 例: SELECT xmlcomment(‘hello’); xmlcomment ————– <!–hello–> 2. xmlconcat:XML连接函数 xmlconcat(xml ...
PostgreSQL 正则表达式 常用函数的总结 对那些需要进行复杂数据处理的程序来说,正则表达式无疑是一个非常有用的工具。本文重点在于阐述 PostgreSQL 的一些常用正则表达式函数以及源码中的一些函数。 正则相关部分的...
bat调用postgres的函数
javal链接postgresql,可直接运行,封装的很好,可用于学习或后期直接调用,内含demo,可以运行。
====Postgresql的字符串操作函数====
postgresql中的cast
PostgreSQL是以加州大学伯克利分校...同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。
博客:PostgreSQL的学习心得和知识总结(六十五)|关于PostgreSQL数据库 实现MySQL数据库find_in_set()函数 的实现方案
基于PostgreSQL和PostGIS的坐标转换函数,支持点、线、面的WGS84和CGCS2000与GCJ02和BD09坐标系与之间互转。 Example -- 如果转换后结果为null,查看geom的srid是否为4326或者4490 WGS84转GCJ02 select geoc_wgs84...