Hola te contesto entre lineas :D 2011/10/3 Anthony <asotolo...@uci.cu>
> ** > El 03/10/2011 11:38, Alejandro Carrillo escribió: > > Hola > > Ya le eché la revisada. > Que me gusto: > 1) La aplicación no tiene lio a la hora de instalarse, solo descomprimir y > ya. > 2) Efectivamente hace su trabajo de crear las funciones. > > Que no me gusto: > 1) Sentencias como RETURN QUERY EXECUTE son lentas a la hora de ejecutarse > y estas sentencias solo deben ejecutarse en casos donde no se sepa como va a > llegar la sentencia. Además se suelen prestar para ejecutar inyecciones SQL. > En mi concepto personal, prefiero las sentencias hechas a la medida y que se > vayan modificando a medida de las necesidades.Ej: > consulta:='insert into public.dato (iddato,nombredato,fecha,edad) values > (' || $1 || ')' ; > EXECUTE consulta; > esta sentencia se ejecutará más lento que una función donde tome los > parametros y los inserte sin usar execute. > 2) En el manual no dice como usar las funciones, en especial la funcion > de Select_general. > La de select_general debe usarse asi: > select * from public.select_general('select * from dato where 1=1') as tt > (p_iddato integer, p_nombredato character varying, p_fecha date, p_edad > numeric); > > ------------------------------ > *De:* Anthony <asotolo...@uci.cu> <asotolo...@uci.cu> > *Para:* Alejandro Carrillo <faster...@yahoo.es> <faster...@yahoo.es> > *CC:* "pgsql-es-ayuda@postgresql.org" <pgsql-es-ayuda@postgresql.org> > <pgsql-es-ayuda@postgresql.org> <pgsql-es-ayuda@postgresql.org> > *Enviado:* viernes 5 de abril de 2002 16:11 > *Asunto:* [pgsql-es-ayuda] Re: [pgsql-es-ayuda] [OT] Algunas funciones > útiles para desarrollo en postgresql > > On 03/10/11 09:41, Alejandro Carrillo wrote: > > http://code.google.com/p/generadorprocparapostgresql/ > Es un generador de procedimientos almacenados para postgresql. FUE TOMADO > DE otro proyecto q estaba abandonado llamado pgp-generator. Me pareció buena > la idea y para no dejarlo morir creé este proyecto. > Contiene soporte para la creación de insert, delete, update y select, solo > debe escribir el nombre de ls funcion, el esquema y la tabla y este se > encarga de generar el procedimiento almacenado de la fucnion > solicitada(insert,delete,update,select) > > > http://code.google.com/p/datageneratorpostgresql/ > Es un generador de datos para tablas en postgresql. Le crea datos con el > fin de probar velocidad en consultas, actualizaciones y borrados de datos en > una tabla. Solo debe: 1) Crear el lenguaje plpgsql 2) Crear el schema utils > para que estas funciones queden depositadas en ese schema 3) Pasar el nombre > del schema, la tabla, numero de registros a insertar/generar y el numero en > ascii inicial y final (ej: espacio es el nro ascii 32, comilla simple es 34) > EJ: select utils.creardatostabla('public','clientes',50,32,78) 4) Disfrútalo > y recomiendalo a tus amigos > Posdata: Puede insertar registros con caracteres especiales como comilla > simple('), doble(") y barra invertida "\", lo cual lo hace muy bueno a la > hora de experimentar con campos especiales > > 2 proyectos de su humilde servidor. > > ¿Opiniones, sugerencias, correcciones? > > Hola algo como lo primero que pones tenemos algo por aca desarrollado en su > version inicial (CRUD-PG) , aunque hemos organizado algunas ideas que > pretendemos poner en el futuro para mejorarlo, pero este esta funcional si > deseas conocerlo esta aqui > http://postgresql.uci.cu/node/74 > > y el link de descarga: > http://postgresql.uci.cu/descargas/tools/CRUD-PG%201.1.tar.bz2 > > saludos > > PD: el segundo que envias tampoco lo conocia , pero me interesa utilizarlos > gracias. > > > me alegro que tengas aspectos que le guste tendré en cuenta sus > sugerencias, pero es que utilizo el ejemplo que usted me sugiere para > ejecutar las sentencias(insert, update y delete) Ej:consulta:='insert into > public.dato (iddato,nombredato,fecha,edad) values (' || $1 || ')' ; > EXECUTE consulta; > > pero para consultas select que me interesa el resultado tengo que > ejecutarlos con RETURN QUERY EXECUTE pues es la única forma que conozco, al > menos yo, de ejecutar conusltas dinámicas formadas por concatenacion de > cadenas y pueden variar , > Y no se podria crear con esa cadena un cursor? salu2 mdc > entiendo que son un poco lentas si las ejecuto asi pero bueno, si desea > coolaborar con la solucion , son bienvenidos sus sugerencias, hace tiempo > que no le hago nada. > saludos y gracias!!! >