Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

[SOLUCIONADO] Ejecutar una función que retorna void

Estas en el tema de Ejecutar una función que retorna void en el foro de PostgreSQL en Foros del Web. Hola: Tengo la intención de hacer una función para crear archivos CSV (vamos, sería básicamente hacer un /copy tabla ()........ Así que creo la función ...
  #1 (permalink)  
Antiguo 24/08/2015, 09:09
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 6 meses
Puntos: 10
Ejecutar una función que retorna void

Hola:

Tengo la intención de hacer una función para crear archivos CSV (vamos, sería básicamente hacer un /copy tabla ()........

Así que creo la función y cuando voy a testearla para comprobar que se ejecuta (soy demasiado novato y doy los pasos muy cortos) me ocurre lo siguiente:

Función:
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION "crearCSV"()
  2.   RETURNS void AS
  3. $BODY$
  4. BEGIN
  5. RAISE NOTICE 'Crear CSV';
  6. END;
  7. $BODY$
  8.   LANGUAGE plpgsql VOLATILE
  9.   COST 100;
  10. ALTER FUNCTION "crearCSV"()
  11.   OWNER TO david;

Intento de llamada:
Código SQL:
Ver original
  1. SELECT crearCSV();

Respuesta:
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

Y la verdad es que no lo entiendo. La función no recibe argumentos (por ahora) y no devuelve nada
__________________
Mi calculadora en Qt
  #2 (permalink)  
Antiguo 24/08/2015, 10:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Ejecutar una función que retorna void

No sé lo que ha pasado. La he borrado y la he vuelto a crear (en ambos casos con pgAdminIII) y veo un cambio que supongo que era la causa del error:

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION crearcsv()
  2.   RETURNS void AS
  3. $BODY$
  4.         BEGIN
  5.                 RAISE NOTICE 'Crear CSV';
  6.         END;
  7. $BODY$
  8.   LANGUAGE plpgsql VOLATILE
  9.   COST 100;
  10. ALTER FUNCTION crearcsv()
  11.   OWNER TO david;

La diferencia la veo aquí:
Si funciona:
Código SQL:
Ver original
  1. ALTER FUNCTION crearcsv()
No funciona:
Código SQL:
Ver original
  1. ALTER FUNCTION "crearCSV"()

En fin, algo habré hecho mal la primera vez
__________________
Mi calculadora en Qt

Etiquetas: retorna, tabla, void
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:16.