Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

277
Vistas
EXECUTE error de sintaxis en postgresql

quiero ejecutar la siguiente consulta usando ejecutar, funciona perfectamente con seleccionar pero cuando lo llamo en disparador aparece este error "ERROR: la consulta no tiene destino para los datos de resultado". 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 pensé en EXECUTE pero tengo 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';

¿Alguien puede decirme qué estoy haciendo mal? ¿O hay alguna otra idea para hacer 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';
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

41.5.2. Ejecutar un comando sin resultado

A veces es útil evaluar una expresión o una consulta SELECT 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.

cambio de función interior select para perform

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda