postgresql基础

本文介绍了PostgreSQL中的存储过程,包括如何定义函数、声明变量、使用条件判断以及执行函数的方法。此外,还提及了常用SQL操作,如修改、新增和删除字段,以及字段类型的强制修改和数据查询技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、存储过程

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条数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值