函数
CREATE OR REPLACE FUNCTION ifnotexist(sqlselect text, sqlexec text)
RETURNS integer AS
$BODY$
DECLARE
exists int;
BEGIN
EXECUTE sqlSelect INTO exists;
IF exists <= 0
THEN
EXECUTE sqlExec;
RETURN 1;
END IF;
RETURN 0;
EXCEPTION
WHEN undefined_table
THEN
return -1;
--存在查询结果,不执行语句.返回1 执行成功,返回0 已经有相同的内容存在,返回-1 操作异常(目前是指无对应的表存在)
--参数1 sqlselect 判断语句
--参数2 sqlexec 执行语句
--执行语句(一) -- 插入初始化数据
--select ifnotexists('select count(*) from t_mm_wei where fa = ''1''','update t_mm_wei set fb = ''........00178645'' where fa = ''1''');
--执行语句(二)-- 创建表
--select ifnotexists('select count(*) from pg_class where relname = ''t_mm_create''',
--'CREATE TABLE t_mm_create(fa integer NOT NULL,fb text,CONSTRAINT t_mm_create_pkey PRIMARY KEY (fa))
--WITH (OIDS=FALSE
--);ALTER TABLE t_mm_create OWNER TO postgres;'
--);
--执行语句(三) -- 增加字段
--select ifnotexists('select count(*) from pg_attribute t0 inner join pg_class t1 on t0.attrelid = t1.oid where t1.relname = ''t_mm_create'' and t0.attname = ''fid''',
--'alter table t_mm_create add fid Integer;');
--执行语句(四) -- 创建索引
--select ifnotexist('select count(*) from pg_stat_user_indexes where indexrelname = ''prefix_storage_btree_index''',
--'CREATE INDEX prefix_storage_btree_index ON portal_deliveryurlprefix USING btree (storagespaceid, storagespacename);');
--判断字段是否存在
--select * from pg_attribute t0 inner join pg_class t1 on t0.attrelid = t1.oid where t1.relname = 't_mm_wei' and t0.attname = 'fa'
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION ifnotexist(text, text) OWNER TO postgres;
分享到:
相关推荐
datasheet中详细阐述了PG-FP5-EA的各项技术规格和特性。首先,它的高速数据传输能力确保了快速的程序加载和调试,这对于需要频繁迭代和优化的开发过程至关重要。其次,该设备提供了丰富的引脚配置,能够适应各种...
安川变频器PG-X3手册.pdf 安川变频器PG-X3手册是一份英文版用户手册,主要介绍了PG-X3型号的相关信息,包括尺寸、接线定义、接线原理图等。下面是从该手册中提取的相关知识点: 1. 安川变频器PG-X3概述:PG-X3是...
pg数据库地图坐标系转换
FX5-20PG-P_D用户手册(定位篇 智能功能模块) FX5-20PG-P_D用户手册是三菱电机微型可编程控制器MELSEC iQ-FFX5的用户手册,主要介绍了FX5-20PG手册的安全方面注意事项、安装注意事项和配线注意事项等内容。 一、...
汇川***N系列MCTC-PG-A4 PG卡是专为ME320LN系列变频器配置异步电机增量式AB编码器而设计的,同时具备分频输出功能。该PG卡主要用于应对编码器输入信号质量问题,特别是解决编码器反馈信号在电机加减速过程中的边沿...
本篇文章将深入探讨“PG-FP_datasheet_PG-FP_datasheet_”这一主题,主要关注PG-FP3-4产品的详细规格和技术参数,以及在压缩包中的PG-FP_datasheet.pdf文件所包含的重要信息。 首先,"PG-FP"可能是产品系列的缩写,...
【pgRouting-1.03_pg-8.4.2.zip】这个压缩包文件是针对PostgreSQL数据库系统的一个扩展——pgRouting的特定版本,适用于PostGIS 8.4.2环境。pgRouting是一个强大的开源工具,它将PostGIS的空间数据库功能与图论算法...
pg-index-health-sql pg-index-health-sql是一组sql查询,用于分析和维护Postgresql数据库中的索引运行状况。支持的PostgreSQL版本可用支票pg-index-health-sql允许您检测以下问题: 无效的(损坏的)索引( )。 ...
固高运动卡GTS-400(800)-PG-PCI是一款广泛应用于工业自动化领域的高性能运动控制卡。这款卡的设计目标是提供精确、快速的伺服电机控制,以实现精密机械的运动控制任务,如机器人操作、精密定位、高速数据采集等。...
pg_dump: pg_dump -a -t tbl_test "host=127.0.0.1 hostaddr=127.0.0.1 port=5432 user=postgres password=123456 dbname=postgres" > /userdir/tbl_data a 参数是表示只导出数据,其他的额外信息不需要,该参数也...
湖南麒麟UniKylin-PG-3.3安装NVDIA显卡驱动,安装注意事项,湖南麒麟来源于华为openeuler
TC260-PG-20191A 网络安全实践指南 - 移动互联网应用基本业务功能必要信息规范.pdf
用法import { format} from 'pg-formatter' ;format ( `SELECT foo FROM bar` ) ;组态组态格式默认描述pgFormatter等效anonymize 布尔值false 遮盖查询中的所有文字,这有助于在格式化之前隐藏机密数据。 anonymize ...
pg-sql-helpers 一组帮助程序,用于使用Javascript中的编写动态SQL查询。 这有点像一个或编写SQL。产品特点使用简单的类似SQL的语法来构建查询。 启用动态WHERE , ORDER BY , INSERT , UPDATE ,…子句。 建立在...
标题中的“pg141-dds-compiler_Xilinx_pg141-dds_pg141-dds-compiler_”暗示了这是一个与Xilinx公司的DDS(Direct Digital Synthesis,直接数字频率合成)编译器相关的资源,版本号可能是14.1。DDS是一种广泛应用于...
1. **初始化阶段**:查询开始时,PG-Strom首先检查查询计划中是否有适合GPU处理的部分。如果发现有,它会生成相应的CUDA程序,这是GPU执行任务的语言。 2. **数据传输**:一旦CUDA程序生成,数据需要从CPU的内存...
帕罗肯科技的PG-114隔离分配器是一款专业级的信号处理设备,广泛应用于工业自动化、数据采集和控制系统中。这款设备的主要功能是将输入的信号进行隔离并分配,以防止信号间的相互干扰,确保系统运行的稳定性和准确性...
在本文中,我们将深入探讨基于Laravel框架开发的"pg-web-stats"项目,这是一个用于可视化PostgreSQL数据库统计信息的Web应用程序。"pg-statements"是PostgreSQL中的一个扩展,它记录了数据库的查询执行情况,提供了...
安装ora2pt [root@rhel6 ora2pg-20.0]$ perl Makefile.PL [root@rhel6 ora2pg-20.0]# make && make install
对于压缩包文件"DBD-Pg-2.15.1",通常会包含源码、文档、示例脚本和其他相关资源。开发者可以通过编译和安装这些源码来将DBD::Pg模块集成到他们的Perl环境中。安装过程通常涉及解压文件、运行配置脚本、编译源码以及...