postgresql基础

xiaoxiao2021-02-28  74

一、存储过程

CREATE FUNCTION del_ref (per_size INT) RETURNS void AS $$ DECLARE ref_id record ; mid_count int; BEGIN FOR ref_id IN EXECUTE 'SELECT id FROM cdr_reference limit '||$1 loop SELECT INTO mid_count count(id) FROM resource_reference_index WHERE reference_id=ref_id.id; if mid_count=0 THEN DELETE FROM cdr_reference WHERE id=ref_id.id; END IF; END loop ; raise notice 'delete reference finished' ; END $$ LANGUAGE plpgsql;

1、定义函数,运行时需传入一个int类型参数 2、定义变量 3、每次查出一定数量(传的参数)数据,然后循环每条数据记录 4、into mid_count count(id)是将查出id和赋值给变量mid_count 5、if 条件 then SQL语句 end if;条件判断 执行生成函数,然后运行函数即可,可视化客户端在函数里面找到对应右键运行;命令执行的方式直接参考postgresql官网

二、常用SQL

ALTER TABLE cdr_resource ALTER COLUMN retry_status SET DEFAULT 1, ADD COLUMN reason VARCHAR, DROP COLUMN original_id;

修改字段;新增字段;删除字段

ALTER TABLE retry_record ALTER COLUMN retry_version TYPE int4 USING retry_version::integer;

强制修改字段类型。

LIMIT 2 OFFSET 1

查出2条,每次向后偏移1条数据。

转载请注明原文地址: https://www.6miu.com/read-79389.html

最新回复(0)