pg 存儲過程

函數中計算某些代碼容許時間

CREATE
    OR REPLACE FUNCTION public.test_time() RETURNS text LANGUAGE plpgsql AS $function$ DECLARE starttime DOUBLE PRECISION;

endtime  DOUBLE PRECISION;
bb DOUBLE PRECISION;
stime VARCHAR;

etime VARCHAR;

consttime VARCHAR;

aa INTEGER;

BEGIN 
	select extract(epoch from CURRENT_TIMESTAMP) into starttime;
	select count(1) from public.table_name into aa;
	select extract(epoch from now()) into endtime;
stime = cast(starttime as VARCHAR);
etime = cast(etime as VARCHAR);

consttime = cast((endtime-starttime) as TEXT);
RETURN consttime;
END;

$function$

LOOP

CREATE
    OR REPLACE FUNCTION public.loopIns() RETURNS TEXT LANGUAGE plpgsql AS $function$ DECLARE sum_count INTEGER;

commit_count INTEGER;

commit_has INTEGER;

BEGIN sum_count = 10000000;

commit_count = 10000;

commit_has = 0;

WHILE commit_has < sum_count LOOP 
執行一些代碼
commit_has = commit_has + commit_count;
END loop;

RETURN '';
END;

$function$

生成隨機數

SELECT to_char(RANDOM() * 1000000000000000000,'9999999999999999999');
to_char(小於1的隨機值 ,'格式');

IF/ELSE

IF condition THEN
 
blablabla;
ELSIF condition THEN
blablabla;
ELSE 
blablabla;
END IF;

存儲過程當中賦值

select count(1) from tableName where a = xxx and b = xxx into pa_card_count;

調用函數和執行字符串類型拼接的sql語句

perform function();
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息