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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |