Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
PROCEDIMIENTOS ALMACENADOS
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje PROCEDIMIENTOS ALMACENADOS 
 
BUENOS DÍAS, PODRÍA ALGUIEN POR FAVOR AYUDARME A LLAMAR UN PROCEDIMIENTO ALMACENADO EN POSTGRESQL, DESDE UN FORMULARIO, GRACIAS
HE ACA EL CODIGO DE CREACION DEL PS EN POSTGRESQL

/*CREATE FUNCTION procedimientocarrera()  RETURNS SETOF RECORD AS
$BODY$
DECLARE
REG RECORD;
BEGIN
 FOR REG in (SELECT carrera FROM carrera)
 LOOP
RETURN NEXT REG;
END LOOP;
END;

$BODY$ LANGUAGE 'PLPGSQL';*/



SELECT * FROM procedimientocarrera() AS FOO (CARRERA CHARACTER (50))

HASTA AQUI TODO BIEN DESDE POSTGRES, ME GUSTARIA QUE ALGUIEN ME AYUDARA A LLAMAR EL PROCEDIMIENTO ALMACENADO (UNA FUNCION EN POSTGRES) DESDE UN FORMULARIO EN gambas, EL PROCEDIMIENTO SE LLAMA PROCEDIMIENTOCARRERA
 



 
última edición por malele20 el Sabado, 17 Octobre 2015, 22:19; editado 2 veces 
malele20 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: PROCEDIMIENTOS ALMACENADOS 
 
Está claro que nadie en el foro conoce la forma de hacer lo que pides.

Sin embargo, aún sin conocer Postgres ni haber trabajado nunca con esta DBM, supongo que será posible usar SQL puro con la función Exec de la clase Connection de gambas.

Te recomiendo que busques y leas sobre esta función que permite ejecutar una cadena SQL directamente, sin necesidad de usar las funciones de gambas que abstraen la capa de datos independientemente del motor DB que se use.

En el wiki de la página oficial de gambas puedes encontrar información relevante, al igual que desde el propio IDE de gambas.

P.D. Por cierto, malele20, no está bien visto escribir todo en mayúsculas en la mayoría de los foros, es una de las normas de Netiqueta universal y por supuesto también de éste Foro. Lee las normas cuando puedas.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: PROCEDIMIENTOS ALMACENADOS 
 
Debes llamar a una función de postgres igual como un procedimiento almacenado cualquiera, poniendo los argumentos de la función entre paréntesis.



dim RS1 as Result ' declaras el result

 RS1 =  DB.Exec("Select From  procedimientocarrera() ")
 


Si tu función tuviera argumentos de entrada  deben ir entre los paréntesis de la llamada a la función.
Espero que te sirva.
 



 
angelnu - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: PROCEDIMIENTOS ALMACENADOS 
 
[quote user="angelnu" post="28532"]Debes llamar a una función de postgres igual como un procedimiento almacenado cualquiera, poniendo los argumentos de la función entre paréntesis.



dim RS1 as Result ' declaras el result

 RS1 =  DB.Exec("Select From  procedimientocarrera() ")
 


Si tu función tuviera argumentos de entrada  deben ir entre los paréntesis de la llamada a la función.
Espero que te sirva.[/quote

Hola buenas noches, gracias de antemano por tu mensaje, sabes asi llamo el procedimiento almacenado desde postgresql

 Select * from Procedimientocarrera4()  AS FOO(Carrera Character (50), CodCar Character (2))

 y me devuelve la informacion esperada, cunado la llamo desde gambas me indica error, se requiere una lista de definicion de columnas para funciones que retornan record.

Sabes es el mismo error desde postgres cuando no coloco en la llamada  AS FOO(Carrera Character (50), CodCar Character (2))
te agradezco el gesto y la preocupacion por ayudarme, esta es una ayuda que la ha surgido a uno de mis estudientes y estoy tratando de ayudarle.
 



 
malele20 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: PROCEDIMIENTOS ALMACENADOS 
 
Hola buenas noches, gracias de antemano por tu mensaje, sabes asi llamo el procedimiento almacenado desde postgresql

 Select * from Procedimientocarrera4()  AS FOO(Carrera Character (50), CodCar Character (2))

 y me devuelve la informacion esperada, cunado la llamo desde gambas me indica error, se requiere una lista de definicion de columnas para funciones que retornan record.

Sabes es el mismo error desde postgres cuando no coloco en la llamada  AS FOO(Carrera Character (50), CodCar Character (2))
te agradezco el gesto y la preocupacion por ayudarme, esta es una ayuda que la ha surgido a uno de mis estudientes y estoy tratando de ayudarle.
 



 
malele20 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: PROCEDIMIENTOS ALMACENADOS 
 
Citar:

 Select * from Procedimientocarrera4()  AS FOO(Carrera Character (50), CodCar Character (2))


No uso postgre, pero eso de AS FOO( etc. etc.) suena a convención propia (o error) desde luego no es sintaxis habitual de sql.
AS siempre es la manera de utilizar un Alias. Un alias que sea el resultado de una función (foo) no es algo que yo haya visto nunca.

Select * from Procedimientocarrera4() Debería funcionar.

Select campo1, campo2, campo3 from procedimientocarrera4() debería funcionar

Select * from Procedimientocarrera4() AS  'Procedimiento' también

pero eso de foo.... nunca lo he visto.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron