Tag: PLPGSQL
Quiero ver cuánto tiempo lleva cada iteración de un bucle dentro de un bloque DO en postgres. El diseño básico es el siguiente: DO $$ declare v_time timestamptz; declare i record; begin for i in select generate_series(1, 5) t loop select current_timestamp into v_time; perform pg_sleep(i.t); — algo se hace . . . Read more
Creé una función utilizada para filtrar. CREATE OR REPLACE FUNCTION filtersearch( val1 text[] DEFAULT NULL::text[], val2 text[] DEFAULT NULL::text[], val3 text[] DEFAULT NULL::text[], val4 boolean DEFAULT NULL::boolean) RETURNS SETOF student_table LANGUAGE ‘plpgsql’ AS $BODY$ DECLARE where_val text := ”; result_text int; BEGIN IF $4 = true THEN where_val := ‘attendance . . . Read more
Intentando hacer lo que se especifica en el título, ya logré que las funcionalidades de upsert funcionen, sin embargo, cuando intento parametrizarlo, me siento perdido y no puedo depurarlo. Mi consulta: CREATE OR REPLACE FUNCTION custom_upsert(target_value_input text, target_table_input text, target_column_input text, OUT pk_output int) LANGUAGE plpgsql AS $func$ BEGIN LOOP . . . Read more
Tengo esta función que debería devolver columnas variables, ¿puede ayudarme a lo que está mal con mi código? CREATE OR REPLACE FUNCTION functions.search(column_name VARCHAR(40)) RETURNS SETOF RECORD AS $$ DECLARE rec RECORD; BEGIN RETURN QUERY EXECUTE format(‘SELECT %I FROM students_table’); END; $$ LANGUAGE plpgsql; Llamada: SELECT * FROM functions.search( (‘Student . . . Read more
Tengo un archivo SQL que contiene el esquema de la base de datos (creación de tablas y algunas funciones para verificar las restricciones). Una de las funciones tiene diferentes acciones para realizar en el primer valor ingresado y en los siguientes. Lo que quiero decir es que en la función . . . Read more