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

Consulta al procedimiento error en open ...???

Estas en el tema de Consulta al procedimiento error en open ...??? en el foro de PostgreSQL en Foros del Web. Amigos necesito ayuda... tengo un procedimiento y necesito que traiga unos datos dinamicos..el problema es el siguiente. El procedimiento al guardar perfecto..el problem es al ...
  #1 (permalink)  
Antiguo 23/01/2012, 09:12
 
Fecha de Ingreso: enero-2012
Mensajes: 29
Antigüedad: 12 años, 3 meses
Puntos: 0
Consulta al procedimiento error en open ...???

Amigos necesito ayuda...
tengo un procedimiento y necesito que traiga unos datos dinamicos..el problema es el siguiente.
El procedimiento al guardar perfecto..el problem es al consultar este procedimiento..el error que envia es el siguiente:


ERROR: syntax error at or near "OPEN" en el carácter 16
QUERY: BEGIN
OPEN SWV_Res.SWV_RefCur FOR
SELECT id_cine2, nombre_pelicula FROM cine2 ORDER BY nombre_pelicula EXCEPTION WHEN OTHERS THEN
NULL;
END;
CONTEXT: PL/pgSQL function "domo_getlookupdata" line 24 at execute statement


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

ERROR: syntax error at or near "OPEN"
SQL state: 42601
Context: PL/pgSQL function "domo_getlookupdata" line 24 at execute statement

supuestamente haria bien la consulta pero no funciona ese asunto del open..
aqui esta el procedimiento correspondiente..

CREATE OR REPLACE FUNCTION DOMO_getLookupData(v_strTabla VARCHAR(100)
,v_strCampoLookup VARCHAR(100)
,v_intIdRegistro VARCHAR(100))

RETURNS DOMO_getLookupData_result AS
$procedure$
DECLARE
v_sql VARCHAR(8000);
SWV_Res DOMO_getLookupData_result;
BEGIN

IF v_intIdRegistro <> 0 then
v_sql := 'OPEN SWV_Res.SWV_RefCur FOR
SELECT id_'|| v_strTabla || ', ' || v_strCampoLookup ||
' FROM ' || v_strTabla ||
' WHERE id_'|| v_strTabla || ' = ' || CAST(v_intIdRegistro AS VARCHAR(30)) ||
' ORDER BY ' || v_strCampoLookup|| ' ';

ELSE
v_sql := 'BEGIN
OPEN SWV_Res.SWV_RefCur FOR
SELECT id_'|| v_strTabla || ', ' || v_strCampoLookup ||
' FROM ' || v_strTabla ||
' ORDER BY ' || v_strCampoLookup || ' EXCEPTION WHEN OTHERS THEN
NULL;
END;';
end if;

-- NOT SUPPORTED PRINT @sql;
EXECUTE v_sql;
RETURN SWV_Res;
END;
$procedure$
LANGUAGE plpgsql;
ALTER FUNCTION DOMO_getLookupData(varchar(100), varchar(100), varchar(100)) OWNER TO sa;


y este es el tipo:

CREATE TYPE DOMO_getLookupData_result AS(SWV_RefCur refcursor);


alguien que me ayude por fa

saludos

Etiquetas: end, open, procedimiento, select, sql, type, campos
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 19:46.