Voy a hacer una prueba.. Gracias El 26/12/2011 18:57, "Marcos Héctor Trotti" <[email protected]> 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 < > [email protected]> 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 <[email protected]> >> >>> 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 < >>> [email protected]> 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* > >
