Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION FN_INDICADOR (
- id_sensor in VARCHAR2)
- RETURN VARCHAR2
- IS
- MSG VARCHAR2(200);
- v_query_insert VARCHAR2 (500);
- err_code VARCHAR2(100);
- err_msg VARCHAR2(150);
- BEGIN
- -- cargamos la consulta contenida en el indicador
- SELECT query INTO v_query_insert FROM SENSOR WHERE IDSENSOR=id_sensor;
- -- ejecutamos la consulta
- EXECUTE IMMEDIATE v_query_insert INTO MSG;
- RETURN MSG;
- EXCEPTION
- WHEN OTHERS THEN
- -- se registra el codigo de error
- err_code := SQLCODE;
- -- se registra el mensaje de error
- err_msg := SUBSTR(SQLERRM, 1, 200);
- MSG:= SQLCODE ||'- '||err_msg; -- Error de aplicacion
- RETURN MSG;
- END;
- CREATE OR REPLACE TRIGGER UPDATE_VALOR
- BEFORE UPDATE ON SENSOR REFERENCING NEW AS NEW OLD AS OLD
- FOR EACH ROW
- DECLARE
- v_fecha DATE;
- BEGIN
- v_fecha :=SYSDATE;
- SELECT SYSDATE INTO v_fecha FROM DUAL;
- :NEW.ACTUALIZACION :=v_fecha;
- END;
- CREATE OR REPLACE TRIGGER UPDATE_VALOR
- BEFORE UPDATE ON SENSOR REFERENCING NEW AS NEW OLD AS OLD
- FOR EACH ROW
- DECLARE
- v_fecha DATE;
- v_indicador NUMBER;
- BEGIN
- --ESTE PROCESO SOLO ME DA LA FECHA ACTUAL DEL SISTEMA Y LA REGISTRA EN
- --MICAMPO ACTUALIZACION
- v_fecha :=SYSDATE;
- SELECT SYSDATE INTO v_fecha FROM DUAL;
- :NEW.ACTUALIZACION :=v_fecha;
- --LLAMADA DE MI FUNCION
- v_indicador := FN_INDICADOR(IDSENSOR);
- END;
- FN_INDICADOR(parametro);
- esquema1.FN_INDICADOR(parametro);
- v_regreso := FN_INDICADOR(parametro);
Add Comment
Please, Sign In to add comment