Programar STORED PROCEDURES
Hola gente, me enfrento a un nuevo problema, esta vez relacionado con un STORED PROCEDURE que se activará con un TRIGGER.
Necesito hacer un SP que, pasando un varchar, me lo limpie de carcateres "especiales" (que yo decidiré, pero lo típico, letras con acentos y tal y cual) y me pase a mayúsculas, para después en el campo que decida. ¿Problemas? Pues todos, no he hecho nada de esto nunca, no se con que leguaje se escriben ni nada, así que necesito una pequeña ayudita que me eche a andar y arreando. Gracias gente. |
Puedes hacer una DLL en Delphi con alguna función que exporte y que haga esas cosas que necesitas, para luego ponerla en el FireBird como una UDF y mas tarde podrías hacer uso de ella en tu "Stored Procedure".
Si no me hice entender, avisame, para ver que podemos hacer ;) :D |
Mas o menos entiendo tu opción, pero quiero programarlos en la DB con el lenguaje que se tenga que usar, para poder utilizarlo siempre que quiera, independientemente del programa que acceda a la DB.
Se que es sencillo hacer dicha función, por ejemploo en PHP la tengo implementada, pero si la hago en la DB, me ahorraré seguir repitiendola con cada lenguaje que utilice, ahí reside la utilidad de la misma. |
Cita:
|
Pero no quiero usar DELPHI para programar una DLL. Es cuestión de principios, pero quiero saber si hay un leguaje (o varios) para hacerlo directamente, libres y bien documentados preferentemente.
Es una cuestión de dependencia, solo eso. De todas formas, gracias por las respuestas. |
Cita:
Entre los lenguajes que puedes usar está C++, pascal, ... y no tienes que quedarte con las opciones de CodeGear ya que existen muchas otras y libres. Un saúdo |
Cita:
Si las explicaciones son muy tochas, y hay algun/os sitio donde lo expliquen bien, tanto en castellano como en inglés, decidme donde que yo me pongo al ajo y dejo de daros la brasa. Gracias por la atención. |
Si haces la Dll en lenguaje que sea, podrás usarla por ejemplo en una consulta asi:
o en un procedure asi:
Esa consulta podrás ejecutarla desde php o lo que sea, ya que el motor es quien hará uso de dicha DLL independientemente de quien la este ejecutando. |
Revisa esto. Aquí explican como crear una UDF en C/C++ para windows y para linux, y como declararla posteriormente en firebird. Una vez declarada para usarla posteriormente solo tendras que llamarla desde un procedimiento almacenado, un trigger o una consulta, y pasarle los parametros correspondientes.
Aunque el ejemplo esta en C/C++ puedes utilizar cualquier otro lenguaje capaz de generar bibliotecas de funciones(DLL en windows y SO en linux), para lo cual creo que PHP no vale. Si deseas hacerlo en FreePascal puedo pasarte alguna de las que tengo yo hechas en Delphi, por si te sirve de ejemplo. Si tienes alguna duda más aquí estaré para ayudarte en lo que pueda. Un saúdo. |
Mientras esperaba una respuesta, he visto que puedo usar Lazarus para programar los UDFs, por lo que aceptaré de buena gana esos ejemplos para ver como funciona e irme haciendo a la idea.
Voy a leer el enlace ahora y a ver que sale. Un saludo. EDITO: Justo ese documento lo he encontrado mientras buscaba respuestas por google. :P |
La franja horaria es GMT +2. Ahora son las 07:49:20. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi