PostgreSQL - No existe la columna

 
Vista:
sin imagen de perfil

No existe la columna

Publicado por Carlos (3 intervenciones) el 22/10/2016 15:53:27
Buenas tardes,
estoy estancado creando una función que retorne un mensaje según un valor pasado por parámetro. La función es esta:

CREATE OR REPLACE FUNCTION tipo_actividad (valor integer)
RETURNS text AS
$BODY$
DECLARE
msg text;
BEGIN
CASE valor
WHEN 1 THEN
msg := "Solo hay una actividad";
WHEN 2,3,4 THEN
msg := "Hay menos de cinco actividades";
ELSE
msg := "Hay 5 o más actividades";
END CASE;
RETURN msg;
END;
$BODY$
LANGUAGE plpgsql;

Cuando ejecuto la función pasando como parámetro cualquier número (integer) , en este caso (1) me sale el error siguiente:

ERROR: no existe la columna «Solo hay una actividad»
LINE 1: SELECT "Solo hay una actividad"
^
QUERY: SELECT "Solo hay una actividad"
CONTEXT: PL/pgSQL function tipo_actividad(integer) line 7 at asignación

********** Error **********

ERROR: no existe la columna «Solo hay una actividad»
Estado SQL:42703
Contexto:PL/pgSQL function tipo_actividad(integer) line 7 at asignación

Si alguien me puede decir como puedo arreglarlo, le estaría muy agradecido.
Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No existe la columna

Publicado por martin (121 intervenciones) el 23/10/2016 14:51:54
Postgresql usa como delimitador de cadenas comillas simples, las comillas dobles indican columna o tabla o schema para tomar literal esos nombre.

Si no usas las comillas dobles postgres pasa todo a minisculas y puede no encontrar llas columnas que necesitas si la columna/tabla se llama MiTabla(con mayusculas) y no usas comillas dobles ,este busca mitabla(en minuscula) y nunca la encuentra. con las comillas dobles se le dice que busque literal esa cadena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

No existe la columna

Publicado por Carlos (3 intervenciones) el 24/10/2016 10:34:08
Muchas gracias Martin,
era justo eso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar