13/08/2009, 14:17
|
| | Fecha de Ingreso: marzo-2009
Mensajes: 121
Antigüedad: 15 años, 8 meses Puntos: 1 | |
comparacion de cadenas Hola a todos de nuevo por aqui huesos tu me ayudaste a resolver el problema de la seleccion con el where el problema era la forma en que estaba comparando, ahora el prblema es que uso esa misma forma de comparar para dos cadenas y no me hace la compracion les coloco la funcion que hace la comparacion
CREATE OR REPLACE FUNCTION inf_concepto_nombre(nombre_concepto varchar)
RETURNS SETOF conceptos AS
$BODY$
DECLARE
fila conceptos%rowtype;
sql character varying;
BEGIN
sql = 'SELECT id_sede,id_concepto,concepto,clase,tipo,status_con venio,afecta_prestaciones,afecta_utilidades,afecta _vacaciones,unidad,formula,afecta_liquidacion,afec ta_sueldomensual,ingreso_mensual,vigente,asociado, descripcion FROM conceptos WHERE concepto = '|| ltrim(rtrim(nombre_concepto));
FOR fila IN EXECUTE sql
LOOP
RETURN NEXT fila;
END LOOP;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION inf_concepto_nombre(nombre_concepto varchar) OWNER TO postgres;
y cuando lo ejecuto :select * from inf_concepto_nombre('Pago de vacaciones');
me da el siguiente error :
ERROR: syntax error at or near "de" en el carácter 258
QUERY: SELECT id_sede,id_concepto,concepto,clase,tipo,status_con venio,afecta_prestaciones,afecta_utilidades,afecta _vacaciones,unidad,formula,afecta_liquidacion,afec ta_sueldomensual,ingreso_mensual,vigente,asociado, descripcion FROM conceptos WHERE concepto = Pago de vacaciones
CONTEXT: PL/pgSQL function "inf_concepto_nombre" line 8 at for over execute statement
que creen que pueda ser????? |