tablas postgres libros introduccion espaƱol ejemplos consultar consulta conclusiones sql postgresql function triggers

libros - postgresql introduccion



EJECUTAR error de sintaxis en postgresql (1)

41.5.2. Ejecutando un comando sin resultado

Algunas veces es útil evaluar una consulta de expresión o SELECCIONAR, pero descartar el resultado, por ejemplo cuando se llama a una función que tiene efectos secundarios pero ningún valor de resultado útil. Para hacer esto en PL / pgSQL, use la instrucción PERFORM

énfasis mío

dentro de la función cambiar select para perform

quiero ejecutar la siguiente consulta usando execute, funciona perfecto con select pero cuando lo llamo trigger me sale este error "ERROR: la consulta no tiene destino para los datos de resultados". He intentado realizar pero no funciona. La función en seleccionar insertar filas en una tabla.

select insert_new_grade(''title0'', return3_6(0), return3_6(1), return3_6(2), s.code) FROM "student" as s where find_st(s.grade)>=5;

Así que he pensado en EXECUTE pero obtengo errores de sintaxis. Aquí está mi intento:

execute ''insert_new_grade(''title0'', return3_6(0), return3_6(1), return3_6(2), s.code) FROM "student" as s where find_st(s.grade)>=5'';

¿Puede alguien decirme qué estoy haciendo mal? ¿O hay alguna otra idea para que la consulta funcione en la función de activación? Gracias por adelantado..

Aquí está el disparador:

CREATE OR REPLACE FUNCTION insert_d() RETURNS TRIGGER AS $$ BEGIN select insert_new_grade(''title0'', return3_6(0), return3_6(1), return3_6(2), s.code) FROM "student" as s where find_st(s.grade)>=5; return new; END; $$ LANGUAGE plpgsql;

y aquí está la función de inserción:

CREATE OR REPLACE FUNCTION insert_new_diploma(title0 character(100), prof0 character(11), prof1 character(11)) RETURNS VOID AS $$ BEGIN INSERT INTO "d_table"(thes0, title, grade, prof, secProf) VALUES (null, title0, null, prof0, prof1); END $$ LANGUAGE ''plpgsql'';