加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgreSQL 存储过程及存储过程调用

发布时间:2020-12-13 17:33:12 所属栏目:百科 来源:网络整理
导读:CREATE OR REPLACE FUNCTION mt_f_avl_oee_period(i_station character varying,i_type int) RETURNS integer AS$BODY$DECLARE v_start_hour character varying; v_end_hour character varying; v_start_time character varying; v_end_time character varyi
CREATE OR REPLACE FUNCTION mt_f_avl_oee_period(i_station character varying,i_type int)
  RETURNS integer AS
$BODY$
DECLARE


 v_start_hour  character varying;
 v_end_hour character varying;

 
 v_start_time  character varying;
 v_end_time character varying;

 v_start_datetime  timestamp;
 v_end_datetime timestamp;

 v_type int := 0;

 v_rtn int;

 
/*
 v_test9_count int;
 v_test9_success int;

 v_runningtime double precision;
 v_availablerate double precision;
 */

BEGIN

-- hour = even,minute > 30
-- exists
-- 

if i_type = 1 then

SELECT EXTRACT(HOUR FROM CURRENT_TIME - interval '2 hours' ) into v_start_hour;	 	--two hours ago
SELECT EXTRACT(HOUR FROM CURRENT_TIME ) into v_end_hour;				--get 'hour' of current time

select v_start_hour || ':30' into v_start_time;

select v_end_hour || ':30' into v_end_time;

select mt_f_avl_oee_period_e(i_station,to_char( CURRENT_Date,'YYYY-MM-DD'),v_start_time,v_end_time) into v_rtn;

else

SELECT EXTRACT(HOUR FROM CURRENT_TIME - interval '3 hours' ) into v_start_hour;
SELECT EXTRACT(HOUR FROM CURRENT_TIME ) into v_end_hour;

select v_start_hour || ':30' into v_start_time;

select v_end_hour || ':00' into v_end_time;

select mt_f_avl_oee_period_midnight(i_station,v_end_time) into v_rtn;

end if;


RETURN 1;


EXCEPTION

WHEN others THEN
    RAISE;

RETURN 0;

END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION mt_f_avl_oee_period(i_station character varying,i_type int)
  OWNER TO postgres;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读