Re: [pgsql-es-ayuda] Creando Función.

From: Mario Jiménez Carrasco <mario(dot)carrasco(at)gmail(dot)com>
To: Marcos Héctor Trotti <marcostrotti(at)gmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Creando Función.
Date: 2011-12-27 02:43:22
Message-ID: CADr7mTCz_3nbaok2329KMQt=bV8qunett0M0wMJvFzRoJW4L1w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Quisiera comentar que no me funcionaban por error mio..
En primera no tenía instalado el plpgsl por lo cual no se reconocían las
sintaxis...

Hector, el uso del PERFORM funcionó de igual forma.... aunque igual tuve el
problema al inicio por causa de no tener habilitado el lenguaje correcto..

muchas gracias ...

saludos.

ISC. Mario Jiménez Carrasco.
Jefe de Departamento
Desarrollo de Software.

2011/12/26 Mario Jiménez Carrasco <mario(dot)carrasco(at)gmail(dot)com>

> Voy a hacer una prueba..
> Gracias
> El 26/12/2011 18:57, "Marcos Héctor Trotti" <marcostrotti(at)gmail(dot)com>
> escribió:
>
> Mario, espero con este ejemplo puedas solucionar el problema del IF.
>> lo que deberías hacer es lo siguiente.
>> La sentencia IF EXISTS (SELECT xxxxx) debes remplazarla por:
>> PERFORM XXXXXX;
>> IF FOUND THEN
>> SENTENCIAS
>> END IF;
>> Cuando usas PERFORM no es necesario utilizar el SELECT en la sentencia.
>> Espero te sirva!
>> Saludos
>>
>>
>> El 26 de diciembre de 2011 21:49, Mario Jiménez Carrasco <
>> mario(dot)carrasco(at)gmail(dot)com> escribió:
>>
>>> Hola Marcos...
>>> He intentado con el INTO pero no me funciona... de hecho ya probe varias
>>> formas y no logro que la funcion me devuelva un dato...
>>> Te explico que es lo que pretendo hacer para ver si puedes apoyarme con
>>> el problema...
>>>
>>> tengo una tabla ( A ) en la que ya tengo algunos registros...
>>> por otro lado tengo otra tabla ( B ) donde debo crear unos detalles de
>>> la tabla A...
>>> La información que va a ir dentro B la tomo de un archivo de texto, por
>>> lo que estoy haciendo una función que lea el archivo de texto y por cada
>>> linea, haga una selección a la tabla A a través del ID... Si en la tabla A
>>> existe el registro con el ID, quiero hacer un INSERT a la tabla B...
>>>
>>> el problema es que al declarar la función, me marca errores de sintaxis
>>> cuando quiero definir variables en las que quiero guardar el valor devuelto
>>> por el select...
>>>
>>> por otra parte cuando intento hacer el IF EXISTS (SELECT xxxxx) siempre
>>> me arroja un error de sintaxis, y ya consulte la documentación e incluso
>>> copie un ejemplo de la documentación y no me funciona.. el problema siempre
>>> me lo marca como error de sintaxis cerca del IF...
>>>
>>> Espero puedas apoyarme con alguna información o ejemplo de como usas el
>>> FOUND tal vez sea mas sencillo...
>>>
>>> saludos
>>> Gracias.
>>>
>>> ISC. Mario Jiménez Carrasco.
>>>
>>>
>>>
>>> 2011/12/26 Marcos Héctor Trotti <marcostrotti(at)gmail(dot)com>
>>>
>>>> Mario, buenas noches, como estas?
>>>> No soy un experto en postgres pero intentare ayudarte dado que pase por
>>>> algo similar.
>>>> Te recomiendo utilizar PERFORM para sentencias que no retornes valores
>>>> en variables(es decir no uses INTO). Y luego utilizar el operador FOUND O
>>>> NOT FOUND en un IF por ejemplo.
>>>> En caso que uses SELCT INTO, inmediatamente despues de la consulta
>>>> puedas utilizar tambien FOUND para saber si tuvo resultado o no.
>>>> Espero te sea de utilidad, si necesitas mas ayuda avisame.
>>>> Saludos
>>>>
>>>>
>>>> El 26 de diciembre de 2011 21:28, Mario Jiménez Carrasco <
>>>> mario(dot)carrasco(at)gmail(dot)com> escribió:
>>>>
>>>> Hola Lista...
>>>>> Saludandolos y deseandoles la hayan pasado bien en la navidad..
>>>>>
>>>>> Pido su apoyo en el siguiente punto...
>>>>> Estoy creando una función, en la que quiero hacer una consulta a una
>>>>> tabla y si existe el registro quiero hacer una inserción en otra tabla...
>>>>> El problema que tengo o mejor dicho los problemas que tengo son los
>>>>> siguientes...
>>>>> Ya he revisado la documentació<http://www.postgresql.org/docs/9.1/interactive/plpgsql-structure.html>n...
>>>>> buscando la forma de declarar la función y en primer punto no me permite
>>>>> declarar una variable dentro de la función... y menos usarla para asignar
>>>>> ahi el valor devuelto por la consulta...
>>>>> Por otro lado... he buscado la forma de aplicar la sentencia IF
>>>>> EXISTS... en postgresql (alguna vez lo use en SQLServer) pero en postgresql
>>>>> siempre me marca error de sintaxis, ya verifique la documentación del
>>>>> Postgresql... y he seguido las indicaciones pero no me termina de
>>>>> funcionar...
>>>>>
>>>>> alguien sabe como debo hacerlo? o alguna referencia documental de
>>>>> donde pueda basarme???
>>>>>
>>>>> agradezco el apoyo...
>>>>>
>>>>> saludos.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ISC. Mario Jiménez Carrasco.
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Marcos Héctor Trotti*
>>>>
>>>>
>>>
>>
>>
>> --
>> *Marcos Héctor Trotti*
>>
>>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message felipe guzman 2011-12-27 12:39:23 Ubuntu o Centos?
Previous Message Mario Jiménez Carrasco 2011-12-27 00:59:14 Re: [pgsql-es-ayuda] Creando Función.