-- 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;
分享到:
相关推荐
本话题主要关注的是如何在Oracle数据库向PostgreSQL迁移过程中处理Oracle特有的函数,这里我们提到了一个名为"orafce"的工具。 orafce,全称为“Oracle Functions for PostgreSQL”,是一个开源项目,它为...
### 自定义函数在SQL中的应用 #### 一、引言 在数据库操作中,SQL(Structured Query Language)作为处理关系型数据库的标准语言被广泛应用。为了提高SQL查询的灵活性与复用性,许多数据库系统提供了创建自定义...
标题和描述中提到的“postgresql 兼容 oracle 函数”就是指在PostgreSQL中实现与Oracle类似的函数,以便于在两个系统间平滑过渡。 Oracle数据库拥有大量的内置函数,如日期处理、字符串操作、数学计算等,这些在...
在PostgreSQL中,标准数据库函数并没有直接提供将二进制字符串转换为十六进制字符串的内建函数。但在实际应用中,进行这种类型转换的需求又是非常常见的,比如在进行数据的校验、加密、解密或者其他需要二进制与十六...
1. 博客:PostgreSQL的学习心得和知识总结(六十七)|语法级自上而下完美实现MySQL数据库的 IF函数和IFNULL函数 的实现方案
Oracle 迁移到 PostgreSQL 不兼容字段、函数等更改 在将 Oracle 数据库迁移到 PostgreSQL 时,需要注意一些不兼容的字段、函数和语法等问题。下面是常见的不兼容项和解决方法: 1. 字段类型:Oracle 中的 NUMBER ...
包含四个自定义函数: lz4:接收bytea类型的数据,返回压缩后的bytea类型数据 un_lz4:接收bytea类型的数据,返回解压后的bytea类型数据 lz4_utf8:接收utf8编码的文本数据,返回解压后的bytea类型数据 un_lz4_utf8...
PostgreSQL 数据类型和数学函数 PostgreSQL 是一个功能强大且广泛使用的开源关系数据库管理系统,本文将概述 PostgreSQL 的数据类型和数学函数。 一、数据类型 PostgreSQL 支持多种数据类型,包括整型、浮点型...
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. 结论
Hash索引是一种基于散列函数构建的索引,主要用于等值查询。 - **优点**: - 查找效率高,通常只需要一次散列函数调用即可定位到目标值。 - **缺点**: - 只支持等值查询。 - 不记录WAL,这意味着在数据恢复时...
3. **复杂查询支持**:支持SQL标准的子查询、连接查询、窗口函数以及自定义聚合函数,满足复杂的数据分析需求。 4. **数据类型丰富**:除了常见的数据类型,还支持JSON、XML、数组、几何对象等复杂类型,适合处理...
通过CRecordset,你可以执行SQL查询,获取结果集,并通过其成员函数进行数据的读取和写入。对于存储过程的调用,CRecordset也提供了方法,允许你在SQL命令字符串中包含存储过程名,并传递参数。 另一方面,ADO是...
支持2万+汉字转拼音首字母
这是我最近新接触到的一个函数, 我在项目中的使用场景是这样的: 有一个应用类型表,表中有parentId字段和parentIds字段,前者为父级id,后者为多级父级id,在库中都是varchar类型,parentIds由多个父级id拼接而成由”,”...
postgresql中判断是否为数字和是否为时间日期格式的相关函数,类似于sqlserver中的isDate和isnumeric函数
支持2万+汉字转拼音
对postgresql数据库中不规则的数据批量处理查询,有些是全角的,需要转换查询,匹配,可以使用这个方法postgres全角转半角函数.txt
- PostgreSQL 8.4配合`PostGIS`扩展可以处理OSM数据,`PostGIS`提供了空间数据类型和函数,使得存储、查询和分析地理信息成为可能。 - 将OSM数据导入PostgreSQL通常涉及使用`osm2pgsql`工具,它将OSM XML或PBF格式...
官方文档提供了详细的使用指南,包括对各个 SQL 语句的说明、函数的参考以及系统维护的建议等。 需要注意的是,PostgreSQL 和其他软件一样,虽然尽量保证其稳定性和安全性,但还是建议用户定期备份数据,以防止意外...
XML内容生成部分 SQL数据生成XML的函数。 1. xmlcomment:生成注释函数。 xmlcomment(text ) 例: SELECT xmlcomment(‘hello’); xmlcomment ————– <!–hello–> 2. xmlconcat:XML连接函数 xmlconcat(xml ...