函數中計算某些代碼容許時間
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();