FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Almacenar y usar consultas vistas y procedimientos en campos blob
Anoche entre una resaca de vodka y la indigestión de una cena opulenta se me ocurrio la idea de poder almacenar en un campo blob (memo) el texto de una consulta (vista ó procedimiento) para ejecutarlo en ciertos campos "calculados". me explico (que dolor de cabeza...)
Supongamos una aplicaciíon de Nómina, la misma usará conceptos de asignaciones y deducciones que deberán ser calculados por formulas que deberá personalizar el cliente, por ejem: La siguiente formula: SalarioDiario = SalarioMes / 30 Se expresaria como:
Esa fórmula se podría almacenar en un campo memo y al ejecutar un procedimiento generico: (ojo el código es para referencia no se supone que funcione)
Claro todo desde dentro de firebird (2.0.1) con procedimientos almacenados y eso, la intención es permitir al usuario ejecutar algunos cálculos especiales que arrojen resultados dentro de otras consultas. Ni yo entiendo bien el último parrafo. En resumidas: ¿ Se puede almacenar y ejecutar codigo SQL dentro de campos memo en una base de datos firebird ?
__________________
Sitrico |
#2
|
||||
|
||||
Hola
Dentro de campos memo (blob en el caso de Firebird), puedes almacenar hasta 32 Gb de cualquier tipo de dato (texto, imagenes, archivos exe, etc). Si la idea es almacenar un texto ( en este caso una sentencia SQL) creo que no habría problemas, mientras la extraigas desde tu programa y la ejecutes (con un IBQuery por ejemplo). Lo que no puedes hacer, hasta donde yo se, es ejecutar la consulta dentro del campo blob. Saludos!
__________________
Martin Zalazar |
#3
|
||||
|
||||
Cita:
Pero el problema está en qué es lo que devuelve esa FORMULA, porque solo con ejecutarla dentro del procedimiento, no creo que sirva de mucho...no se. ¿Esa FORMULA devuelve siempre 1 campo o devuelve más de 1? ¿de que tipo es el dato devuelto? Me acabo de dar cuenta que la sentencia EXECUTE STATEMENT solo funciona con <string>, con lo que si falla, (porque no lo he comprobado) deberias pasar de blob a string (creo).
__________________
Progress Openedge https://abevoelker.com/progress_open...dered_harmful/ Delphi forever... Última edición por defcon1_es fecha: 06-09-2007 a las 12:47:15. |
#4
|
||||
|
||||
Hola, yo trabajo con un propducto de nómina, muy excelente
es un front end muy inetresante.... sabes lo que se me ocurre.... que en vez de almacecanr funciones o procedimientos almacenados, guardes código objet pascal. este codigo sera ejecutado en tiempo de ejecucuón, por ahi peudes seguir la linea si no levas muy avanzado el proyecto..... el motor de cálculo de la aplicación que te comento, contine su propio lenhuaje de programación para los conceptos de cálculo (sueldo, compensación, bonos, impuesto, etc) y aparte tiene algunas funciones apra poder ejecutar sentencias y procedimientos almacenados...
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
#5
|
||||
|
||||
me doy cuenta que no contesto a tu pregunta, jejejeje, suele pasar a veces
te adjnot el link http://www.remobjects.com/page.asp?id={9A30A672-62C8-4131-BA89-EEBBE7E302E6}
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
#6
|
||||
|
||||
Gracias a todos por responder, en principio aclarar que no es un proyecto en desarrollo, sino más bien una idea para uno que estoy planificando, de hecho no es de nómina sino de cobranzas , pero la idea de poder automatizar algo del código dentro de la base de datos me simplificaría mucho la vida, de hecho pensando más en frio sería mas facil implementar la sujerencia de martinzcr .
También voy a probar la sujerencia de defcon1_es pero por lo que dice debo usar campos Char, lo que limitará mucho la capacidad de trabajo. En cuanto a Cita:
En cuanto al código en object pascal la verdad excede bastante la idea inicial, recuerdo haber usado un componente JvInterpreter (bastante potente) pero, por ahora "exploro" las capacidades del firebird... Acabo de ver el link de Paoti, luce muy prometedor, a ver si con algo más de tiempo los descargo y pruebo. Gracias de nuevo.
__________________
Sitrico Última edición por sitrico fecha: 07-09-2007 a las 06:05:33. |
#7
|
||||
|
||||
Esto Sí funciona:
La formula:
Calcular el 50% de descuento Ahora tengo que ver que puedo hacer con eso... Con campos BLOB no funciona.
__________________
Sitrico Última edición por sitrico fecha: 07-09-2007 a las 06:29:58. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
consultas a procedimientos almacenados.... | Kenobi | SQL | 4 | 23-03-2007 21:43:46 |
Problemas al almacenar imagen en campo blob | Manuel | Gráficos | 4 | 15-06-2006 23:52:02 |
donde almacenar los procedimientos y funciones | olbeup | MS SQL Server | 2 | 16-04-2006 21:56:07 |
Consultas dinámicas en procedimientos almacenados | sur-se | Firebird e Interbase | 1 | 15-11-2004 19:04:24 |
Consultas anidadas en procedimientos almacenados | Choclito | Firebird e Interbase | 7 | 18-07-2004 23:06:33 |
|