PostgreSQL的存储过程,公司的询报价表的数据转移,由于修改了很多字段的类型以及状态,大概有7个函数,因为这个函数涉及到的比较全,所以拿出来做例子,详细的就不做说明,主要是给大家看一下过程的结构,应用,内置函数等东西, 包括两张主从表关联插入,希望能帮到大家。
--判断是否是日期类型
DROP FUNCTION IF EXISTS isdate();
create or replace function isdate(p in varchar) RETURNS integer AS $$
declare
result date;
begin
result:= date(p);
raise notice '%', result;
return 1;
exception
when others then return 0;
end;
$$ LANGUAGE plpgsql;
--开始
DROP FUNCTION IF EXISTS ChangeInquiry();
CREATE OR REPLACE FUNCTION ChangeInquiry() RETURNS INT AS $$
DECLARE
inquiry RECORD;
delivery INT; --货期
expire TIMESTAMP; --过期时间
i1 RECORD; --询价表
i2 RECORD; --询价商品表
corporation_id INT; --企业表id
category_id INT; --询价商品表分类id
quotation_count INT; --询价商品表报价计数
inquiry2id INT; --询价表新表id
inquiry2goods_id INT;
--判断是否是日期类型
DROP FUNCTION IF EXISTS isdate();
create or replace function isdate(p in varchar) RETURNS integer AS $$
declare
result date;
begin
result:= date(p);
raise notice '%', result;
return 1;
exception
when others then return 0;
end;
$$ LANGUAGE plpgsql;
--开始
DROP FUNCTION IF EXISTS ChangeInquiry();
CREATE OR REPLACE FUNCTION ChangeInquiry() RETURNS INT AS $$
DECLARE
inquiry RECORD;
delivery INT; --货期
expire TIMESTAMP; --过期时间
i1 RECORD; --询价表
i2 RECORD; --询价商品表
corporation_id INT; --企业表id
category_id INT; --询价商品表分类id
quotation_count INT; --询价商品表报价计数
inquiry2id INT; --询价表新表id
inquiry2goods_id INT;