您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页PostgreSQL常用函数

PostgreSQL常用函数

来源:筏尚旅游网


PosggreSQL常用函数语法

1. 简介

2. 软件准备

Start:2011.01.24 Updated:2011.04.09 王凡 wangfan

wf141732@sohu.com woshiwangfan@gmail.com 版本 修改日期 内容 1.0 2011.04.09 创建

1.1. 环境信息 PostgreSQL:9.0.2 1.2. 相关文档

2.1. 软件安装

见《PostgreSQL与Python》

3. 函数

3.1. 当前时间 

获取当前日期: select CURRENT_DATE;

获取当前时间: select CURRENT_TIME;

获取日期时间:

select CURRENT_TIMESTAMP;

3.2. 唯一列索引

Oracle里面有rowid,在psql里面用ctid替代下!

2

4. 语法

3.3. 多项选择

在oracle里面有decode,psql里面使用标准的case..when Oracle: decode (value, 0, 'zero', 1, 'one', 'unknown') Psql: CASE value WHEN 0 THEN 'zero' WHEN 1 THEN 'one' ELSE 'unknown' END

4.1. 外连接

t1是主表,需要取出t1中的所有数据 SELECT * FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); SELECT * FROM t1 LEFT OUTER JOIN t2 USING (col); 相当于oracle中的 Select * from t1,t2 where t1.col=t2.col(+)

4.2. 创建trigger函数

和oracle很类似,和oracle不同的是在数据行的时候new old之前没有: CREATE OR REPLACE FUNCTION test() RETURNS trigger AS $BODY$ declare V_FLAG VARCHAR(1); 3

begin

V_id NUMERIC(10);

if tg_op = 'INSERT' then end if;

V_id := new.id; V_FLAG := 'I';

if tg_op = 'UPDATE' then end if;

V_id := new.id; V_FLAG := 'I';

if tg_op = 'DELETE' then end if;

V_id := old.id; V_FLAG := 'D';

insert into public.J$jobs_job ( ) select

JRN_SUBSCRIBER, '0', V_FLAG,

JRN_SUBSCRIBER, JRN_CONSUMED, JRN_FLAG, JRN_DATE, id

4

CURRENT_TIMESTAMP, V_id

5. 常见问题

from public.SNP_SUBSCRIBERS where JRN_TNAME = 'public.jobs_job'; RETURN new; END $BODY$ LANGUAGE plpgsql VOLATILE COST 100;

4.3. 创建trigger

在创建完trigger 函数后建立trigger

CREATE TRIGGER t$_job AFTER INSERT OR DELETE OR UPDATE ON public.jobs_job FOR EACH ROW EXECUTE PROCEDURE test();

4.4. 删除trigger

删除trigger很简单

DROP TRIGGER name ON table [ CASCADE | RESTRICT ]; Drop trigger t$_job on public.jobs_job

5.1.

5

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务